美文网首页
js拖拽功能

js拖拽功能

作者: 别来无恙_ly | 来源:发表于2019-03-01 18:49 被阅读0次

//获取到box元素

    var box = document.querySelector('.box');

    //调用拖拽功能

    drag(box);

    //将拖拽功能封装到drag函数中,以便多次调用

    //参数:开启拖拽的元素

    function drag(obj) {

//点击box移动box的位置

        obj.onmousedown =function (event) {

//设置box捕获所有鼠标按下的事件,只有ie支持

            obj.setCapture && box.setCapture();

            //获取box元素的偏移量

            var boxLeft = event.clientX - obj.offsetLeft;

            var boxTop = event.clientY - obj.offsetTop;

            //鼠标移动时,box跟着移动

            document.onmousemove =function (event) {

//获取鼠标的坐标

                event = event || window.event;

                var x = event.clientX - boxLeft;

                var y = event.clientY - boxTop;

                //改变box的位置,box跟着鼠标移动

                obj.style.left = x +'px';

                obj.style.top = y +'px';

            }

//鼠标松开时,box停止移动

            document.onmouseup =function () {

document.onmousemove =null;

                document.onmouseup =null;

                //当鼠标松开,取消对事件的捕获

                obj.releaseCapture && obj.releaseCapyure();

            }

/*

            * 当我们拖拽一个网页中的内容时,浏览器会默认去搜索引擎搜索内容            * 此时会导致拖拽功能的异常,这个是浏览器提供的默认行为            * 如果不希望这个行为的发生,则可以通过return false来取消            * 但是ie8不支持            * 需要先用setCapture捕获事件,然后releaseCapture取消事件*/

            return false;

        }

}

}

相关文章

  • js拖拽功能

    //获取到box元素 var box = document.querySelector('.box'); ...

  • element 的 table使用Sortable.js进行拖拽

    因为element中的table不具备拖拽排序的功能,所以有时候会用到Sortable.js去实现拖拽的功能。具体...

  • Vue.Draggable学习总结

    Draggable为基于Sortable.js的vue组件,用以实现拖拽功能。 特性 支持触摸设备支持拖拽和选择文...

  • JS实现拖拽功能

    拖拽功能是我们日常项目中常用的效果,今天我们就来研究一下如何实现简单的拖拽功能。想实现拖拽功能其实很简单,主要需要...

  • vuedraggable 实战各种小技巧(长期更新)

    前言 vuedraggable 是一个基于 Sortable.js 库的 Vue.js 拖拽功能组件。 资料 np...

  • 原生js实现可拖拽功能

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

  • DOM拖拽排序(JavaScript)

    实现拖拽排序功能,废话少说,上代码 html部分 js部分 效果如下

  • 纯js实现拖拽功能

    好的,这次来看看用纯js如何实现拖拽运动。源码已上传到github,需要的可以下载 https://github...

  • 原生js实现拖拽功能

    在前端技术日新月异,飞速发展的当下,涌现出了很多优秀的开源框架以及优秀的开源组件,这些都是优秀的前端开发者的技术成...

  • js实现滑块拖拽功能

    本内容不涉及css样式部分,自行根据实际业务场景进行构建。这里只是实现拖拽功能的外层函数,涉及到业务逻辑处理,请自...

网友评论

      本文标题:js拖拽功能

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