美文网首页前端开发圈我爱编程
如何完成一个js原生窗口拖拽?

如何完成一个js原生窗口拖拽?

作者: bennnnn | 来源:发表于2018-03-31 11:02 被阅读16次

窗口拖拽这一功能在web app中经常要用到,所以我们需要写一个原生的拖拽功能。

1.html代码 在id为myDrag这个div块下写自己的内容。

<div id="draggable" >
    <div class="drag-content">
        <!--你的代码内容-->
    </div>
</div>

2.js代码

var myDrag = document.getElementById("draggable");
//鼠标按下事件
myDrag.onmousedown = function (ev) {
     let oevent = ev || event;
      //ClientX/Y是鼠标针对于浏览器页面的水平坐标/垂直坐标
     let distanceX = oevent.clientX - myDrag.offsetLeft;
     let distanceY = oevent.clientY - myDrag.offsetTop;
    //鼠标移动事件
     document.onmousemove = function (ev) {
         let oevent = ev || event;
         myDrag.style.left = oevent.clientX - distanceX + 'px';
         myDrag.style.top = oevent.clientY - distanceY + 'px';
     };
     //鼠标弹起事件
     document.onmouseup = function () {
         document.onmousemove = null;
         document.onmouseup = null;
     };
 };

相关文章

  • 如何完成一个js原生窗口拖拽?

    窗口拖拽这一功能在web app中经常要用到,所以我们需要写一个原生的拖拽功能。 1.html代码 在id为myD...

  • js拖拽html元素工具类

    复制就能用的拖拽js方法 原生js实现拖拽元素方法 使用(注意拖拽目标元素需绝对定位 position: 'abs...

  • 实现拖拽

    原生js实现 HTML5原生实现:拖拽draggable属性、DataTranfers对象

  • 原生js实现可拖拽功能

    原生js实现一个可全局拖拽的按钮功能,直接上代码*js部分 *html部分 *css部分

  • h5拖拽相关事件

    拖拽 Sortable.js插件拖拽的时候主要由这几个事件完成,

  • 原生js拖拽效果

    最近新学了拖拽效果,没有好记性,只好用烂笔头记录一下了。首先讲讲拖拽的思路(只分析水平方向,垂直方向类似): 首先...

  • 原生js实现拖拽

    onmousedown,onmousemove,onmouseup 先看js代码.static定位:positio...

  • 文件拖拽

    文件拖拽ondragover 拖拽文件进入窗口 (不断执行)ondragenter 拖拽文件进入窗口 ...

  • Vue实现拖拽穿梭框功能四种方式

    一、使用原生js实现拖拽 点击打开视频讲解更加详细[https://www.bilibili.com/video/...

  • Drag Drop---API

    在h4标准中,我们定义个拖拽事件是很麻烦的,用原生的js来实现拖拽的效果。我们需要计算拖拽的元素的坐标位置和距离之...

网友评论

    本文标题:如何完成一个js原生窗口拖拽?

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