元素拖拽

2018-06-24 00:26:44来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

关于元素拖拽,注意:这里先不考虑浏览器兼容问题
<div class = "container" >
    <div id="move" style="position:absolute; width:100px; height:100px; background:greenyellow">
    </div>
</div>
<script type="text/javascript">
    var dragging=null,tLeft,tTop,moveElem=document.getElementById("move");
    document.addEventListener("mousedown", function (event) {
        if(event.target==moveElem){
            dragging=true;
            var target=event.target;
            tLeft=event.clientX-target.offsetLeft;
            tTop=event.clientY-target.offsetTop;
        }
    });
    document.addEventListener("mouseup", function (e) {
        dragging=false;
    });
    document.addEventListener("mousemove", function (e) {
        if(dragging){
            var moveX= e.clientX-tLeft,
                    moveY= e.clientY-tTop;
            moveElem.style.left=moveX+"px";
            moveElem.style.top=moveY+"px";
        }
    });
</script>
offsetLeft:指元素左边距离其包含元素的距离
offsetTop:指元素上边距离其包含元素的距离
clientX:鼠标按下时的x坐标
clientY:鼠标按下时的y坐标

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:可维护的Javascript 编写指南

下一篇:实战系列之 Node.js 玩转 Java