美文网首页
传统拖拽的实现方式

传统拖拽的实现方式

作者: Ben大师 | 来源:发表于2019-10-17 17:13 被阅读0次

分别是鼠标按下,鼠标移动和鼠标抬起

<!DOCTYPE html>
<html lang="zh-cn">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="jQuery/jquery-3.3.1.js"></script>
    <style>
        .dialog{
            position:absolute;
            left:100px;
            top:50px;
            width:200px;
        }
        .title{
            background: #D7DEF0;
            width:100%;
            height:50px;
            line-height: 50px;
            text-align: center;
            cursor:move;
        }
        .content{
            background: #F0F0F0;
            width:100%;
            height: 200px;
        }
    </style>
</head>
<body>
<div id="dialog" class="dialog">
    <div id="title" class="title">Title</div>
    <div class="content"></div>
</div>
<script>
    var isMouseDown = false;
    var lastPoint = {};
    $("#title").on("mousedown", function (e) {
        isMouseDown = true;
        lastPoint.x = e.pageX;
        lastPoint.y = e.pageY;
    }).on("mousemove",function (e) {
        //下面的这个if也是非常关键的哈!
        if(isMouseDown){
            var dialog = $("#dialog");
            var targetX = parseInt(dialog.css("left")) + e.pageX - lastPoint.x; //e.pageX - lastPoint.x就是移动的距离,你好好理解一下哈
            var targetY = parseInt(dialog.css("top")) + e.pageY - lastPoint.y;
            dialog.css("left", targetX + "px");
            dialog.css("top", targetY + "px");
            lastPoint.x = e.pageX;
            lastPoint.y = e.pageY;
        }
    }).on("mouseup",function (e) {
        isMouseDown = false;
        lastPoint = {};
    })
</script>
</body>
</html>

实现的效果是这样的:


GIF.gif

相关文章

  • 传统拖拽的实现方式

    分别是鼠标按下,鼠标移动和鼠标抬起 实现的效果是这样的:

  • HTML5拖拽上传

    传统拖拽效果小demohtml5实现拖拽小demo调查问卷小demo拖拽拼图小demo拖拽上传小demo h5拖拽...

  • HTML5拖拽drag

    通过拖拽实现页面元素的位置改变 实现拖拽效果 源元素 - 要拖拽的文件 目标元素 - 要拖拽到哪里去 目前实现拖拽...

  • js实现拖拽

    js实现拖拽 实现方式 mousedown、mousemove和mouseup 拖着目标元素在页面任意位置如果要设...

  • HTML5实现拖拽

    实现拖拽效果源元素 - 要拖拽的文件目标元素 - 要拖拽到哪里去 目前实现拖拽效果使用原生DOM就能实现 - 最麻...

  • 拖拽API

    实现拖拽效果 目前实现拖拽效果 HTML5拖拽 源元素事件例子 目标元素事件 从本地拖放图片到页面中 实现拖拽

  • 原生拖拽,拖放事件(drag and drop)

    拖拽,拖放事件可以通过拖拽实现数据传递,达到良好的交互效果,如:从操作系统拖拽文件实现文件选择,拖拽实现元素布局的...

  • Spring基于AspectJ的AOP的开发

    AspectJ实现AOP,实现方式: ——注解方式 ——XML方式 AspectJ实现AOP的方式比传统的AOP方...

  • Player移动控制2

    通过另外一种方式实现Player的移动控制: 通过EventSystems实现屏幕上的手指拖拽,实时记录手指移动的...

  • html5实现拖拽效果

    在此之前,实现拖拽操作都是开发人员自定义逻辑实现的,但是HTML5提供了拖拽API ,使得拖拽操作的实现变得简单。...

网友评论

      本文标题:传统拖拽的实现方式

      本文链接:https://www.haomeiwen.com/subject/dhjvmctx.html