我想将鼠标放在“请拖拽”上边从而实现拖拽功能。
下面是代码:
<div id="box">
<div id="main">
<div id="drag">请拖拽</div>
<div class="content">内容</div>
</div>
</div>
js:
var oDrag= document.getElementById('box');
var oMain= document.getElementById('main');
oDrag.onmousedown=function(ev){
var oEvent=ev||event;
var disX=oEvent.clientX-oDrag.offsetLeft;
var disY=oEvent.clientY-oDrag.offsetTop;
oMain.onmousemove=function(ev){
var oEvent=ev||event;
var l=oEvent.clientX-disX;
var t=oEvent.clientY-disY;
if(l<0){
l=0;
}else if(l>document.documentElement.clientWidth-oDrag.offsetWidth){
l=document.documentElement.clientWidth-oDrag.offsetWidth;
}
if(t<0){
t=0;
}else if(t>document.documentElement.clientHeight-oDrag.offsetHeight){
t=document.documentElement.clientHeight-oDrag.offsetHeight;
}
oDrag.style.left=l+'px';
oDrag.style.top=t+'px';
};
oMain.onmouseup=function(){
oMain.onmousemove=null;
oMain.onmouseup=null;
return false;
};
};
实在找不到为什么,也不报错,请大神指点。
感觉应该是没有加定位吧。要实现拖动的话,元素必须设置绝对定位或者固定定位的哦。