新手入门、想做一个自由拖拉效果的DIV,但不知如何实现!请高手们指点一下最后能有完整的实例代码+完整解释!

解决方案 »

  1.   


    ///------------------------------
    var mywin_isMoving = false; //是否拖动
    var mywin_space_x;
    var mywin_space_y;
    var win_isMoving;/**
    * 开始拖动
    */
    function mystartDragWindow(obj)
    {
        if (event.button == 1 && event.srcElement.tagName.toUpperCase() == "DIV") {
            obj.setCapture();        var cur_window = obj;
            win_space_x = window.event.clientX - parseInt(cur_window.offsetLeft);
            win_space_y = window.event.clientY - parseInt(cur_window.offsetTop);
            win_isMoving = true;
        }
    }/**
    * 拖动
    */
    function mydragWindow(obj)
    {
        if (win_isMoving) {
            var cur_window = obj;
            cur_window.style.left = window.event.clientX - win_space_x + "px";
            cur_window.style.top = window.event.clientY - win_space_y + "px";
        }
    }/**
    * 结束拖动
    */
    function mystopDragWindow(obj)
    {
        obj.releaseCapture();
        win_isMoving = false;
    }
    举例    <div id='ComplainSet' style="position: absolute; z-index: 1200; width: 540px; top: 100px;
            cursor: move; height: 380px; left: 300px; display: none; background: white; border: solid 1px #999999;"
            onmousedown="mystartDragWindow(this)" onmouseup="mystopDragWindow(this)" onmousemove="mydragWindow(this)"
            runat="server">
        </div>
      

  2.   


    ///------------------------------
    var mywin_isMoving = false; //是否拖动
    var mywin_space_x;
    var mywin_space_y;
    var win_isMoving;/**
    * 开始拖动
    */
    function mystartDragWindow(obj)
    {
        if (event.button == 1 && event.srcElement.tagName.toUpperCase() == "DIV") {
            obj.setCapture();        var cur_window = obj;
            win_space_x = window.event.clientX - parseInt(cur_window.offsetLeft);
            win_space_y = window.event.clientY - parseInt(cur_window.offsetTop);
            win_isMoving = true;
        }
    }/**
    * 拖动
    */
    function mydragWindow(obj)
    {
        if (win_isMoving) {
            var cur_window = obj;
            cur_window.style.left = window.event.clientX - win_space_x + "px";
            cur_window.style.top = window.event.clientY - win_space_y + "px";
        }
    }/**
    * 结束拖动
    */
    function mystopDragWindow(obj)
    {
        obj.releaseCapture();
        win_isMoving = false;
    }
    举例    <div id='ComplainSet' style="position: absolute; z-index: 1200; width: 540px; top: 100px;
            cursor: move; height: 380px; left: 300px; display: none; background: white; border: solid 1px #999999;"
            onmousedown="mystartDragWindow(this)" onmouseup="mystopDragWindow(this)" onmousemove="mydragWindow(this)"
            runat="server">
        </div>