onmousemove="moveDiv(event);" 和 onmouseup="keepDiv();"一般是给body的。

解决方案 »

  1.   

    嗯,先谢谢楼上,还有什么应改进,或者错误的地方,请指教.因为我的js刚学,所以不是特别熟悉,所以JS的编码质量确实存在着很大的问题
      

  2.   

    我正在用的拖动,不是我写的,不过比较好用
    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;
    }
    }
    }
      

  3.   

    嗯,还是先谢谢楼上的可能有点误解我发帖的意图了.我发帖不是为了找寻JS拖动代码,因为google一下就有很多,我的真正目的是想弄清楚,我这代码是错在哪,因为我一直卡在这里,如果能清楚代码错在哪,如何改进的话,
    我便能在此代码上进行一系列的优化和重构.虽然分数有点少,但还是希望大家谁如果有时间能帮我看一下代码,虽然这代码写得确实非常垃圾(自己也这么觉得),不过JS刚学,所以JS的这类弱类型语言的好的编程风格还没培养起来.所以委屈一下大家了.thanks ~~~~