이 글에서는 드래그 앤 드롭을 기반으로 객체의 크기를 변경하는 JS 방식을 주로 소개하며, javascript 이벤트응답 및 페이지 요소 속성의 동적 연산과 관련된 구현 기술을 포함합니다. JavaScript에 관심이 있는 친구들은 이 글을 참고하세요
드래그 앤 드롭 개체 크기 변경 기능: 노란색 작은 p를 드래그하여 녹색 큰 p의 너비와 높이를 변경합니다.
기본 구현은 세 단계로 구성됩니다.
1 id id ide indocedown
3을 작은 p에 추가하십시오. 끌어오기 개체의 증가하는 너비 값을 얻으면 문제가 해결됩니다<p id="panel">
<p id="dragIcon"></p>
</p>
스타일 추가
<style> #panel{ position: absolute; width: 200px;height: 200px; background: green; } #dragIcon{ position: absolute;bottom: 0;right: 0; width: 20px;height: 20px; background: yellow; } </style>
<script> window.onload = function () { // 1. 获取两个大小p var oPanel = document.getElementById('panel'); var oDragIcon = document.getElementById('dragIcon'); // 定义4个变量 var disX = 0;//鼠标按下时光标的X值 var disY = 0;//鼠标按下时光标的Y值 var disW = 0; //拖拽前p的宽 var disH = 0; // 拖拽前p的高 //3. 给小p加点击事件 oDragIcon.onmousedown = function (ev) { var ev = ev || window.event; disX = ev.clientX; // 获取鼠标按下时光标x的值 disY = ev.clientY; // 获取鼠标按下时光标Y的值 disW = oPanel.offsetWidth; // 获取拖拽前p的宽 disH = oPanel.offsetHeight; // 获取拖拽前p的高 document.onmousemove = function (ev) { var ev = ev || window.event; //拖拽时为了对宽和高 限制一下范围,定义两个变量 var W = ev.clientX - disX + disW; var H = ev.clientY - disY + disH; if(W<100){ W = 100; } if(W>800){ W =800; } if(H<100){ H = 100; } if(H>500){ H = 500; } oPanel.style.width =W +'px';// 拖拽后物体的宽 oPanel.style.height = H +'px';// 拖拽后物体的高 } document.onmouseup = function () { document.onmousemove = null; document.onmouseup = null; } } } </script>렌더링:위 내용은 전체 내용입니다. 글이 도움이 되었으면 좋겠습니다. 모두가 배우고 도움을 드립니다! ! 관련 추천 :
javascript encapsulation의 다양한 작성 방법
javascript의 이벤트 모델을 빠르게 이해하도록 도와줍니다 JavaScript 관찰자 패턴 예제에 대한 자세한 설명위 내용은 JS는 드래그를 기반으로 객체의 크기를 변경하는 방법을 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!