다른 마우스 끌기 효과에 비해 이 끌기 효과는 상대적으로 간소화되었으며 마우스 흡착도 지원합니다. 마우스 왼쪽 버튼을 누르지 않고도 마우스 움직임을 따라갈 수 있으며 정의하는 것도 상대적으로 편리합니다. 드래그되는 DIV의 ID이며 확장성이 매우 좋습니다.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>鼠标拖动</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script language="JavaScript" type="text/javascript"> var drag_=false var D=new Function('obj','return document.getElementById(obj);') var oevent=new Function('e','if (!e) e = window.event;return e') function Move_obj(obj){ var x,y; D(obj).onmousedown=function(e){ drag_=true; with(this){ style.position="absolute"; var temp1=offsetLeft; var temp2=offsetTop; x=oevent(e).clientX;y=oevent(e).clientY; document.onmousemove=function(e){ if(!drag_)return false; with(this){ style.left=temp1+oevent(e).clientX-x+"px"; style.top=temp2+oevent(e).clientY-y+"px"; } } } document.onmouseup=new Function("drag_=false"); } } </script> <body> <div id="drag" style="background-color:#0066CC;width:280px; height:160px;padding:20px;border:1px #003399 solid; font-size:10.5pt;color:white" onmouseover='Move_obj("drag")'> <p>这个层是可以拖动的,而且还可以吸附鼠标,试试看!</p> <p>/</p> </div> </body> </html>
이 기사가 모든 사람의 JavaScript 프로그래밍 설계에 도움이 되기를 바랍니다.