参考一下
拖放程序

解决方案 »

  1.   

    简单改了一下,
    懒得再做下去了,
    注意firefox下captureEvent,releaseEvent
    相当于IE的setCapture和releaseCapture.<body>
    <div  style=" width:200px; height:190px;  position:absolute;border:1px solid #666666">
    <div id="gg" style=" width:200px; height:40px; background:#FFFF99; "></div>
    <div style=" width:200px; height:150px;"></div>
    </div>
    </body>
    <script>
    var draged = false;
    var gg = document.getElementById("gg")gg.onmousedown =function(e)
    {
    draged = true;
    e = e||event
    var   tempx = e.clientX - gg.parentNode.offsetLeft
    var   tempy = e.clientY - gg.parentNode.offsetTop
    gg.setCapture(); gg.onmousemove = function(e)
    {
    if( draged == true ){ 
    e = e||event
    if ( e.clientX-tempx <= 0 ) {
    gg.parentNode.style.left = "0px";
    } else {
    gg.parentNode.style.left = (e.clientX-tempx)+"px";
    }

    if( e.clientY-tempy <= 0 ) {
    gg.parentNode.style.top = "0px";
    } else {
    gg.parentNode.style.top = (e.clientY-tempy)+"px";
    }
    }
    } gg.onmouseup = function ()
    {
    draged = false;
    gg.releaseCapture();
    document.onmousemove = null;
    document.onmousedown = null;
    }  
    }
    </script>