基于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属性

http://jsrun.net/ptkKp/edit  
    draggable为true的时候,我们可以试试。当你尝试拖动的时候,会有一个虚影。
http://jsrun.net/ZtkKp/edit
    draggable为false的时候,尝试拖动的时候,不会出现虚影,直接就是选中文字。

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

draggable事件

  • ondragstart 元素被拖动时触发
    http://jsrun.net/ftkKp/edit
    我们可以通过target和type看到触发事件的dom节点,以及事件名称

  • ondragover 当你拖动时在元素之上触发
    http://jsrun.net/QtkKp/edit
    通过例子可以发现,我们拖动上面的元素到下面绿色区域就触发事件

    默认地,无法将数据/元素放置到其他元素中。如果需要设置允许放置,我们必须阻止对元素的默认处理方式。 event.preventDefault() ;

  • ondrop 当你进行放置的时候(也就是你拖动,松开按键的时候)
    http://jsrun.net/dtkKp/edit 我们会发现ondrop居然没有生效,这个时候我们去看我们上面删除的那句话。我们将它应用进去
    http://jsrun.net/ttkKp/edit 加上了ondragover 的阻止默认事件。并且里面多加了个去抖(1秒,超长时长 = = )

简单版本

http://jsrun.net/CtkKp/edit

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
HTML5是一种开放标准的Web技术,可以用于构建动态、交互式、响应式的数据可视化系统。以下是基于HTML5的数据可视化系统设计的一些关键步骤: 1. 数据获取:首先需要从数据源中获取数据,可以使用HTTP请求从服务器获取数据,也可以从本地文件中读取数据。数据可以是结构化的数据表格,也可以是非结构化的文本、图片等。 2. 数据处理:对于大规模的数据,需要进行处理和筛选,以便于可视化展示。可以使用JavaScript等脚本语言进行数据处理,如数据清洗、数据格式转换等。 3. 可视化设计:选择合适的可视化工具和技术,设计出符合用户需求的可视化图表,如折线图、柱状图、散点图等。可以使用D3.js、Highcharts、ECharts等开源库来实现可视化效果。 4. 用户交互:为用户提供交互功能,如对图表进行缩放、拖拽、选择等操作,以及添加筛选、排序、搜索等交互控件,以便于用户进行数据分析和探索。 5. 响应式设计:为了适应不同屏幕尺寸和设备,需要进行响应式设计,使得可视化系统在不同的设备上都有良好的用户体验。 6. 部署和维护:将可视化系统部署到服务器上,进行性能测试和安全测试,及时修复bug和漏洞,保证系统的稳定性和可靠性。 基于HTML5的数据可视化系统设计需要综合考虑数据获取、处理、可视化设计、用户交互、响应式设计、部署和维护等方面,才能实现一个高效、可靠、易用的数据可视化系统。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值