想写个div拖动,上网查了下发现代码都好长,弱菜实在看不下去,索性自己写个玩儿玩儿,事实证明这的确是个好主意,很好玩儿...
不废话了,上代码:
document.getElementById("chaTitle").οnmοusedοwn=function ()
{
var chaElement = document.getElementById("chaElement");
var addPx = event.clientX-chaElement.offsetLeft; //获取鼠标与div位置差
var addPy = event.clientY-chaElement.offsetTop;
this.style.cursor='move'; //为鼠标设置手势,为了美观而已
tempThis = this;
chaElement.οnmοusemοve=function ()
{
tempThis.style.cursor='move';
var pX = event.clientX-addPx; //通过响应鼠标移动的位置得到div需要改变到的位置
var pY = event.clientY-addPy;
setDivStyle(pX,pY,this); //调用改变div位置函数
function setDivStyle(x,y,o)
{
o.style.left = x+"px";
o.style.top = y+"px";
}
}
}
document.getElementById("chaTitle").οnmοuseup=function () //响应鼠标up事件,同时清理鼠标move事件
{
document.getElementById("chaElement").οnmοusemοve=null;
}
现在只需要为div设置Id即可拖动了
代码如下:
<div id="chaElement" style=" position:absolute; left:200px; right:200px; background-color:#ddd; width:300px; height:300px;";>
<div id="chaTitle" style="background-color:#00BD65; height:50px; cursor:move"></div>
军哥威武,军哥**,唉我去了
</div>