你的好复杂哦```有那麻烦吗
///////////////
<script>
var offy;
var offx;
//offy,offx保存了鼠标按下的位置在被拖曳物体内的相对坐标function drag() {
alll.style.position = "absolute";
alll.style.top=event.clientY+document.body.scrollTop-offy;
alll.style.left=event.clientX+document.body.scrollLeft-offx;
return true;
}// 鼠标跟随用的函数function start_drag() {
offy=event.offsetY;
offx=event.offsetX;
document.onmousemove=drag;
}//开始拖曳(使鼠标跟随有效)function stop_drag() {
alll.style.position = "absolute";
document.onmousemove=null;
}//停止拖曳(使鼠标跟随失效)
</script><div id=alll style="height:200;background:#345;width=200" onmousedown="start_drag()" onmouseup="stop_drag()" onmouseout="stop_drag()">有那样麻烦吗</div>
///////////////
<script>
var offy;
var offx;
//offy,offx保存了鼠标按下的位置在被拖曳物体内的相对坐标function drag() {
alll.style.position = "absolute";
alll.style.top=event.clientY+document.body.scrollTop-offy;
alll.style.left=event.clientX+document.body.scrollLeft-offx;
return true;
}// 鼠标跟随用的函数function start_drag() {
offy=event.offsetY;
offx=event.offsetX;
document.onmousemove=drag;
}//开始拖曳(使鼠标跟随有效)function stop_drag() {
alll.style.position = "absolute";
document.onmousemove=null;
}//停止拖曳(使鼠标跟随失效)
</script><div id=alll style="height:200;background:#345;width=200" onmousedown="start_drag()" onmouseup="stop_drag()" onmouseout="stop_drag()">有那样麻烦吗</div>
解决方案 »
- 如何用javascript读取本地的txt文件
- this问题
- 为什么脚本不执行啊,在线等.
- 100分求救,JS弹出层,如何才能挡住ocx控件?
- javascript调用firebreath写的插件,如何调试插件?
- eclipse中的jsp中写jquery不能智能提示,怎么解决?
- 有这样一段滚动代码,想修改,请大家帮帮忙,谢谢!
- 如何取文本框的长度,并取最后一个值????(在线)
- replace 怪事~!!!!!!!!!!!!!!!1
- 当a.htm open b.htm时,要使对a.htm不能操作,相当于disable掉,如何做??
- JS 排序input?
- 如何用JS实现两个DIV或链接的事件同步
var x,yvar z,down=false;function init(e){
e.setCapture(); //设置属于当前对象的鼠标捕捉
z=e.style.zIndex; //获取对象的z轴坐标值
//设置对象的z轴坐标值为10000,确保当前层显示在最前面
e.style.zIndex=10000;
x=event.clientX; //获取鼠标指针位置相对于触发事件的对象的X坐标
y=event.clientY; //获取鼠标指针位置相对于触发事件的对象的Y坐标
down=true;
left1=e.style.posLeft
top1=e.style.posTop
//布尔值,判断鼠标是否已按下,true为按下,false为未按下
} function moveit(e){
//判断鼠标已被按下且onmouseover和onmousedown事件发生在同一对象上
//if(down&&event.srcElement==obj){
if(down){
with(e.style){
posLeft=parseInt(left1)+event.clientX-x
posTop=parseInt(top1)+event.clientY-y; }
}
} function stopdrag(e){
//onmouseup事件触发时说明鼠标已经松开,所以设置down变量值为false e.style.zIndex=z; //还原对象的Z轴坐标值
e.releaseCapture(); //释放当前对象的鼠标捕捉
down=false;
}
</script>
你没有记录该曾初始的的值,红色标记出来了
zhu18的方法虽然没有问题,但是因为使用的项目的原因,document.onmousemove是不起作用的,所以你的方法不适合.另外还有个小问题,为什么我没有设置初始值拖动跟设置初始值拖动效果是一样的呢?