基于HTML5的拖动排序

简介: 好久没有写文章,不知道写什么好。突然想到拖动这个API。之前使用 jQuery UI 实例 - 排序(Sortable)去实现了一个拖动排序,也有用jquery.gridly.js实现的一个拖动排序。
  • jQuery UI - Sortable
    DOM节点的移动,用起来挺好的,使用简单,配套的组件也多。顺序就直接是DOM的顺序。


  • jquery.gridly.js
    采用absolute的方式,获取排序位置的时候需要根据left,top再去排序。


  • HTML5-draggable
    HTML5的新特性,想要拖放某个元素,将DOM的draggable属性为true,反之不允许拖动。


draggable属性




draggable为false的时候,尝试拖动的时候,不会出现虚影,直接就是选中文字。


那么为什么我们draggable设置好了以后,也可以拖动,但是松开鼠标的时候不生效呢?那么我们就要想想我们拖动的时候都发生了什么。


draggable事件


  • ondragstart 元素被拖动时触发


http://jsrun.net/ftkKp/edit


我们可以通过target和type看到触发事件的dom节点,以及事件名称



通过例子可以发现,我们拖动上面的元素到下面绿色区域就触发事件默认地,无法将数据/元素放置到其他元素中。如果需要设置允许放置,我们必须阻止对元素的默认处理方式。 event.preventDefault() ;


  • ondrop 当你进行放置的时候(也就是你拖动,松开按键的时候)


http://jsrun.net/dtkKp/edit 我们会发现ondrop居然没有生效,这个时候我们去看我们上面删除的那句话。我们将它应用进去


http://jsrun.net/ttkKp/edit 加上了ondragover 的阻止默认事件。并且里面多加了个去抖(1秒,超长时长 = = )


简单版本


http://jsrun.net/CtkKp/edit


先放一个appendChild的。本期就先写到这里了

相关文章
|
Web App开发 移动开发 JavaScript
HTML5商城开发二 通过位移实现拖动效果
1.效果 在该区域内,手按住拖动,该模块可上下滑动,至最顶或最底部,滑动出现空白区域将自动缩回 2.代码 首页 .area-item { height: 100px; line-...
1085 0
|
20天前
|
人工智能 程序员 UED
【01】完成新年倒计时页面-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
【01】完成新年倒计时页面-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
102 21
【01】完成新年倒计时页面-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
|
18天前
|
前端开发 JavaScript
【02】v1.0.1更新增加倒计时完成后的放烟花页面-优化播放器-优化结构目录-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
【02】v1.0.1更新增加倒计时完成后的放烟花页面-优化播放器-优化结构目录-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
46 14
【02】v1.0.1更新增加倒计时完成后的放烟花页面-优化播放器-优化结构目录-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
|
17天前
css3 svg制作404页面动画效果HTML源码
css3 svg制作404页面动画效果HTML源码
61 34
|
21天前
html+js+css实现的建筑方块立体数字时钟源码
html+js+css实现的建筑方块立体数字时钟源码
67 33
|
19天前
|
前端开发
“弘五四,耀青春”程序创意获奖作品【html+css】
本作品以“青春筑梦,共创未来”为主题,采用动态龙元素展现青春活力与创新精神。页面设计简洁明快,色彩协调,突显年轻人积极向上的风貌。作品内容包括获奖截图、名字《时代扬新帆》及源代码分享。特别说明:禁止用于商业活动,可用于比赛和作业等开源场景。最后,作者表达了对五四精神的致敬与传承,强调了青春活力和创造力的重要性,并感谢评委和支持者。 **获奖感言摘录:** “获得这个奖项,对我们团队来说,既是认可也是激励。我们将继续努力,不断优化产品,为用户带来更好的体验,为社会贡献更多价值。”
30 2
|
2月前
一个好看的小时钟html+js+css源码
一个好看的小时钟html+js+css源码
114 24

热门文章

最新文章