javascript拖动的问题 onmousemove="moveDiv(event);" 和 onmouseup="keepDiv();"一般是给body的。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 嗯,先谢谢楼上,还有什么应改进,或者错误的地方,请指教.因为我的js刚学,所以不是特别熟悉,所以JS的编码质量确实存在着很大的问题 我正在用的拖动,不是我写的,不过比较好用drag(divname)就能实现拖动function drag(o,s){ if (typeof o == "string") o = document.getElementById(o); o.orig_x = parseInt(o.style.left) - document.body.scrollLeft; o.orig_y = parseInt(o.style.top) - document.body.scrollTop; o.orig_index = o.style.zIndex; o.onmousedown = function(a) { this.style.cursor = "move"; this.style.zIndex = 10000; var d=document; if(!a)a=window.event; var x = a.clientX+d.body.scrollLeft-o.offsetLeft; var y = a.clientY+d.body.scrollTop-o.offsetTop; //author: www.longbill.cn d.ondragstart = "return false;" d.onselectstart = "return false;" d.onselect = "document.selection.empty();" if(o.setCapture) o.setCapture(); else if(window.captureEvents) window.captureEvents(Event.MOUSEMOVE|Event.MOUSEUP); d.onmousemove = function(a) { if(!a)a=window.event; o.style.left = a.clientX+document.body.scrollLeft-x; o.style.top = a.clientY+document.body.scrollTop-y; o.orig_x = parseInt(o.style.left) - document.body.scrollLeft; o.orig_y = parseInt(o.style.top) - document.body.scrollTop; } d.onmouseup = function() { if(o.releaseCapture) o.releaseCapture(); else if(window.captureEvents) window.captureEvents(Event.MOUSEMOVE|Event.MOUSEUP); d.onmousemove = null; d.onmouseup = null; d.ondragstart = null; d.onselectstart = null; d.onselect = null; o.style.cursor = "normal"; o.style.zIndex = o.orig_index; } } if (s) { var orig_scroll = window.onscroll?window.onscroll:function (){}; window.onscroll = function () { orig_scroll(); o.style.left = o.orig_x + document.body.scrollLeft; o.style.top = o.orig_y + document.body.scrollTop; } }} 嗯,还是先谢谢楼上的可能有点误解我发帖的意图了.我发帖不是为了找寻JS拖动代码,因为google一下就有很多,我的真正目的是想弄清楚,我这代码是错在哪,因为我一直卡在这里,如果能清楚代码错在哪,如何改进的话,我便能在此代码上进行一系列的优化和重构.虽然分数有点少,但还是希望大家谁如果有时间能帮我看一下代码,虽然这代码写得确实非常垃圾(自己也这么觉得),不过JS刚学,所以JS的这类弱类型语言的好的编程风格还没培养起来.所以委屈一下大家了.thanks ~~~~ 初学代码多个if嵌套错误,求调试 [十万火急]js脚本实现导航条效果小状况 大虾帮我看下js换肤,二级页面无法关联的问题 关于IE7预览图片缩放的问题 JS得到屏幕宽度,急,在线等 求教 js旋转特效实现原理 在Javascript中如何在执行完一段脚本之后才能执行另外一段脚本?因为前一段脚本是后一段脚本的基础,需要产生对象 菜鸟问题,文本框和下拉列表的联动, 使用netscap浏览器,在网页中使用上下方向键实现tab键的功能.up有分 动态改变已有script的src属性并显示里面的内容 帮我看看,高分求教!!!!!!!!!!!!!! 用JS挂一个悬浮在窗口上的层
drag(divname)就能实现拖动
function drag(o,s)
{
if (typeof o == "string") o = document.getElementById(o);
o.orig_x = parseInt(o.style.left) - document.body.scrollLeft;
o.orig_y = parseInt(o.style.top) - document.body.scrollTop;
o.orig_index = o.style.zIndex;
o.onmousedown = function(a)
{
this.style.cursor = "move";
this.style.zIndex = 10000;
var d=document;
if(!a)a=window.event;
var x = a.clientX+d.body.scrollLeft-o.offsetLeft;
var y = a.clientY+d.body.scrollTop-o.offsetTop;
//author: www.longbill.cn
d.ondragstart = "return false;"
d.onselectstart = "return false;"
d.onselect = "document.selection.empty();"
if(o.setCapture)
o.setCapture();
else if(window.captureEvents)
window.captureEvents(Event.MOUSEMOVE|Event.MOUSEUP); d.onmousemove = function(a)
{
if(!a)a=window.event;
o.style.left = a.clientX+document.body.scrollLeft-x;
o.style.top = a.clientY+document.body.scrollTop-y;
o.orig_x = parseInt(o.style.left) - document.body.scrollLeft;
o.orig_y = parseInt(o.style.top) - document.body.scrollTop;
} d.onmouseup = function()
{
if(o.releaseCapture)
o.releaseCapture();
else if(window.captureEvents)
window.captureEvents(Event.MOUSEMOVE|Event.MOUSEUP);
d.onmousemove = null;
d.onmouseup = null;
d.ondragstart = null;
d.onselectstart = null;
d.onselect = null;
o.style.cursor = "normal";
o.style.zIndex = o.orig_index;
}
}
if (s)
{
var orig_scroll = window.onscroll?window.onscroll:function (){};
window.onscroll = function ()
{
orig_scroll();
o.style.left = o.orig_x + document.body.scrollLeft;
o.style.top = o.orig_y + document.body.scrollTop;
}
}
}
我便能在此代码上进行一系列的优化和重构.虽然分数有点少,但还是希望大家谁如果有时间能帮我看一下代码,虽然这代码写得确实非常垃圾(自己也这么觉得),不过JS刚学,所以JS的这类弱类型语言的好的编程风格还没培养起来.所以委屈一下大家了.thanks ~~~~