js拖拽不出指定对象

Posted zard23

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js拖拽不出指定对象相关的知识,希望对你有一定的参考价值。

css如下

#div1{ width:500px; height: 300px; background-color: #ccc; position: relative;margin: 30px auto;}
#div2{ width: 100px; height: 100px; background-color: red; position: absolute; left: 0; top: 0;}

 

html如下

<div id="div1">
  <div id="div2"></div>
</div>

 

 

javascript如下

var div1=document.getElementById("div1");
    var div2=document.getElementById("div2");

    div2.onmousedown=function(ev){
        var e=ev || event;

        var disX=e.clientX-div2.offsetLeft;
        var disY=e.clientY-div2.offsetTop;

        document.onmousemove=function(ev){
            var e=ev || event;

            var l=e.clientX-disX;
            var t=e.clientY-disY;

            if(l<=0) l=0;
            if(t<=0) t=0;

            if(l>=div1.offsetWidth-div2.offsetWidth) l=div1.offsetWidth-div2.offsetWidth;
            if(t>=div1.offsetHeight-div2.offsetHeight) t=div1.offsetHeight-div2.offsetHeight;

            div2.style.left=l+"px";
            div2.style.top=t+"px";
        }

        document.onmouseup=function(){
            document.onmousemove=null;
            document.onmouseup=null;
        }

        return false;
    }

 

以上是关于js拖拽不出指定对象的主要内容,如果未能解决你的问题,请参考以下文章

JS中的鼠标事件,拖拽一个东西

MFC如何实现鼠标拖拽?

draggable拖拽有时候拖不动了怎么回事儿

Vue.Draggable学习总结

CDR里面,怎么设置拖拽东西进一个矩形或者其他形状里面,然后自动提示中心点?

拖拽系列利用JS面向对象OOP思想实现拖拽封装