首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    dragula插件web端和移动端的拖拽排序

    Dragula简介 Dragula是一款支持移动触摸屏设备的纯js元素拖放插件。这个元素拖放插件使用简单,浏览器兼容性好,能够实现通过鼠标或在移动设备中通过手指来拖动DOM元素的位置。...和 dragula.css下载地址: dragula.js下载 dragula.css下载 dragula的特点有: 设置非常简单 没有外部依赖 可以自动对数据进行排序 被移动项带有半透明的视觉效果...npm install dragula –save bower install dragula.js –save 使用方法 该元素拖动插件提供了一个最简单的API来让你可以在页面中拖放元素。...如果元素被放置在containers列表元素之外,插件将取消revertOnSpill和removeOnSpill选项。 注意:拖拽事件只会发生在用户鼠标左键点击的时候,并且没有meta键被按下。...如果该方法返回的是false,拖拽事件将不会开始,事件也不会被阻止。

    2.8K10

    js 实现元素拖拽

    获取元素距离画布页面左侧距离 drag.offsetTop  获取元素距离画布页面上侧距离 获取鼠标按下后  移动时的坐标 用移动时的坐标减去 鼠标距离盒子内部的位置然后 重新给当前元素的坐标赋值 当鼠标事件抬起时 将拖拽事件清除...console.log("drag.offsetTop", drag.offsetTop); // 被拖拽元素相距于父容器上边距离...(drag)左上角 X 轴距离 console.log("e.offsetY", e.offsetY); // 相对于被拖拽元素(drag)左上角 Y 轴距离...// 元素的 clientX 和 clientY 默认是以元素左上角位置来计算的,这里需要向左向上同时减去鼠标点击时的偏移位置差,从而可以保证鼠标始终显示在拖拽元素时的位置...", top); // 这里 top 也是相对于父容器定位的 // 边界处理,防止超出各个边 // 保证拖拽元素不超出画布边界

    88900

    js拖拽自动排列

    上一次写了拖拽,其实主要还是想实现拖拽之后实现自动排列,跟手机屏幕那样移动图标可以自动排列,先看效果: ? 很常见的一个效果,先说一下思路: 每一个元素都是绝对定位,初始化的时候是通过js去排列。...拖拽使用的方法跟上一篇文章一模一样。...拖拽的时候,当鼠标点击选中当前的元素的时候,这个元素移动,当移动到另一个元素一半的时候,相当于要替换这个元素,我是以这样一个方法判断移动到哪一个位置: let moveIndex = Math.round...我定义了一个当前的index,如果移动到的index不等于初始化的index,那么就是要发生移动,当从大移动到小,在这个范围内的,所有排序都要加1,其他不变,如果从小移动到大,这个范围内排序都要减1,其他不变...然后当前的排序替换那个。还要判断,如果移动计算出来的index小于0就等于0,大于当前最大值就等于当前最大值。

    6.6K20
    领券