PHP群:95885625 Hbuilder+MUI群:81989597 站长QQ:634381967
    您现在的位置: 首页 > 开发编程 > JavaScript教程 > 正文

    限制范围js拖动div实例代码

    作者:admin来源:网络浏览:时间:2020-09-30 00:07:50我要评论
    导读:这几天一直在研究js拖动div方法,今天正好把写出来的代码分享一下,需要的朋友可以参考一下,不足的地方多多指教一下。
    这几天一直在研究js拖动div方法,今天正好把写出来的代码分享一下,需要的朋友可以参考一下,不足的地方多多指教一下。
     
    复制代码 代码如下:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>无标题文档</title>
    <script type="text/javascript">
    function Drag(id) {
                var $ = function (flag) {
                    return document.getElementById(flag);
                }
                $(id).onmousedown = function (e) {
                    var d = document;
                    var page = {
                        event: function (evt) {
                            var ev = evt || window.event;
                            return ev;
                        },
                        pageX: function (evt) {
                            var e = this.event(evt);
                            return e.pageX || (e.clientX + document.body.scrollLeft - document.body.clientLeft);
                        },
                        pageY: function (evt) {
                            var e = this.event(evt);
                            return e.pageY || (e.clientY + document.body.scrollTop - document.body.clientTop);

                        },
                        layerX: function (evt) {
                            var e = this.event(evt);
                            return e.layerX || e.offsetX;
                        },
                        layerY: function (evt) {
                            var e = this.event(evt);
                            return e.layerY || e.offsetY;
                        }
                    }            
                    var x = page.layerX(e);
                    var y = page.layerY(e);
        var dv=document.getElementById("ok");      
                    if (dv.setCapture) {
                        dv.setCapture();
                    }
                    else if (window.captureEvents) {
                        window.captureEvents(Event.MOUSEMOVE | Event.MOUSEUP);
                    }
                    d.onmousemove = function (e) {
        var maxContainer=document.documentElement || document.body;
       var maxTop = Math.max(maxContainer.clientHeight, maxContainer.scrollHeight) - $(id).offsetHeight;
      var maxLeft = Math.max(maxContainer.clientWidth, maxContainer.scrollWidth) - $(id).offsetWidth;
        var event = e || window.event;                 
                        var tx = event.clientX - x;
                        var ty = event.clientY - y;
         if(tx>0&&ty>0&&tx<=maxLeft&&ty<=maxTop)
         {
                        dv.style.left = tx + "px";
                        dv.style.top = ty + "px";
         }
                    }
                    d.onmouseup = function () {
                        if (dv.releaseCapture) {
                            dv.releaseCapture();
                        }
                        else if (window.releaseEvents) {
                            window.releaseEvents(Event.MOUSEMOVE | Event.MOUSEUP);
                        }
                        d.onmousemove = null;
                        d.onmouseup = null;
                    }
                }
            }
    </script>
    </head>

    <body>
    <div id="ok" onmousedown="Drag('ok')" style="border:#FF0000 1px solid; height:100px; width:100px; position:absolute">
      
    </div>
    </body>
    </html>

    转载请注明(B5教程网)原文链接:https://b5.mxunkeji.com/content-69-1278-1.html
    相关热词搜索: js拖动div