轻松学习jQuery插件EasyUI EasyUI实现拖动基本操作


Posted in Javascript onNovember 30, 2015

本教程向您展示如何使 HTML 元素可拖动,在本例中,我们将创建三个 DIV 元素然后启用他们的拖动和放置。

轻松学习jQuery插件EasyUI EasyUI实现拖动基本操作

首先,我们创建三个<div> 元素:

<div id="dd1" class="dd-demo"></div>
<div id="dd2" class="dd-demo"></div>
<div id="dd3" class="dd-demo"></div>

对于第一个>div<元素,我们通过默认值让其可以拖动。
$('#dd1').draggable();
对于第二个 <div> 元素,我们通过创建一个克隆(clone)了原来元素的代理(proxy)让其可以拖动。

$('#dd2').draggable({
 proxy:'clone'
});

对于第三个<div> 元素,我们通过创建自定义代理(proxy)让其可以拖动。

$('#dd3').draggable({
 proxy:function(source){
 var p = $('<div class="proxy">proxy</div>');
 p.appendTo('body');
 return p;
 }
});

下面为大家分享学校课程表简单实例,欢迎大家学习:

 我们将创建两个表格:在左侧显示学校科目,在右侧显示时间表。 您可以拖动学校科目并放置到时间表单元格上。 学校科目是一个 <div class="item"> 元素,时间表单元格是一个 <td class="drop"> 元素。

轻松学习jQuery插件EasyUI EasyUI实现拖动基本操作

显示学校科目

<div class="left">
 <table>
 <tr>
  <td><div class="item">English</div></td>
 </tr>
 <tr>
  <td><div class="item">Science</div></td>
 </tr>
 <!-- other subjects -->
 </table>
</div>

显示时间表

<div class="right">
 <table>
 <tr>
  <td class="blank"></td>
  <td class="title">Monday</td>
  <td class="title">Tuesday</td>
  <td class="title">Wednesday</td>
  <td class="title">Thursday</td>
  <td class="title">Friday</td>
 </tr>
 <tr>
  <td class="time">08:00</td>
  <td class="drop"></td>
  <td class="drop"></td>
  <td class="drop"></td>
  <td class="drop"></td>
  <td class="drop"></td>
 </tr>
 <!-- other cells -->
 </table>
</div>

拖动在左侧的学校科目

$('.left .item').draggable({
 revert:true,
 proxy:'clone'
});

放置学校科目在时间表单元格上

$('.right td.drop').droppable({
 onDragEnter:function(){
 $(this).addClass('over');
 },
 onDragLeave:function(){
 $(this).removeClass('over');
 },
 onDrop:function(e,source){
 $(this).removeClass('over');
 if ($(source).hasClass('assigned')){
  $(this).append(source);
 } else {
  var c = $(source).clone().addClass('assigned');
  $(this).empty().append(c);
  c.draggable({
  revert:true
  });
 }
 }
});

正如您所看到的上面的代码,当用户拖动在左侧的学校科目并放置到时间表单元格中时,onDrop 回调函数将被调用。我们克隆从左侧拖动的源元素并把它附加到时间表单元格上。 当把学校科目从时间表的某个单元格拖动到其他单元格,只需简单地移动它即可。

以上就是为大家展示的如何使用jQuery EasyUI创建一个学校课程表,希望对大家的学习有所帮助,大家会喜欢,并且继续关注小编的下一篇文章。

Javascript 相关文章推荐
jquery 定位input元素的几种方法小结
Jul 28 Javascript
基于JQuery实现的Select级联
Jan 27 Javascript
浅析javascript中函数声明和函数表达式的区别
Feb 15 Javascript
简介JavaScript中的sub()方法的使用
Jun 08 Javascript
基于jQuery实现二级下拉菜单效果
Feb 01 Javascript
JavaScript String 对象常用方法总结
Apr 28 Javascript
jquery 遍历数组 each 方法详解
May 25 Javascript
jQuery实例—选项卡的简单实现(js源码和jQuery)
Jun 14 Javascript
Node.js测试中的Mock文件系统详解
Nov 21 Javascript
jQuery实现获取及设置CSS样式操作详解
Sep 05 jQuery
图文详解vue框架安装步骤
Feb 12 Javascript
js getBoundingClientRect使用方法详解
Jul 17 Javascript
轻松学习jQuery插件EasyUI EasyUI创建CRUD应用
Nov 30 #Javascript
javascript for-in有序遍历json数据并探讨各个浏览器差异
Nov 30 #Javascript
基于javascript如何传递特殊字符
Nov 30 #Javascript
基于js实现微信发送好友如何分享到朋友圈、微博
Nov 30 #Javascript
全面解析Bootstrap排版使用方法(文字样式)
Nov 30 #Javascript
javascript中eval和with用法实例总结
Nov 30 #Javascript
JavaScript基础篇(3)之Object、Function等引用类型
Nov 30 #Javascript
You might like
PHP设计模式之工厂模式详解
2017/10/24 PHP
Laravel 实现数据软删除功能
2019/08/21 PHP
简单通用的JS滑动门代码
2008/12/19 Javascript
基于jquery的鼠标拖动效果代码
2012/05/30 Javascript
JS性能优化笔记搜索整理
2013/08/21 Javascript
原生js实现改变随意改变div属性style的名称和值的结果
2013/09/26 Javascript
BAT及各大互联网公司2014前端笔试面试题--JavaScript篇
2014/10/29 Javascript
jQuery中prependTo()方法用法实例
2015/01/08 Javascript
js实现点击向下展开的下拉菜单效果代码
2015/09/01 Javascript
探究JavaScript中的五种事件处理程序方式
2016/12/07 Javascript
js数字计算 误差问题的快速解决方法
2017/02/28 Javascript
nodejs连接mysql数据库简单封装示例-mysql模块
2017/04/10 NodeJs
vue-router配合ElementUI实现导航的实例
2018/02/11 Javascript
Bootstrap Table中的多选框删除功能
2018/07/15 Javascript
解决antd Form 表单校验方法无响应的问题
2020/10/27 Javascript
在Angular项目使用socket.io实现通信的方法
2021/01/05 Javascript
[01:32]DOTA2次级联赛——首支职业女子战队选拔赛全记录
2014/10/23 DOTA
使用Python的Scrapy框架编写web爬虫的简单示例
2015/04/17 Python
详谈Python基础之内置函数和递归
2017/06/21 Python
详解python eval函数的妙用
2017/11/16 Python
记录Python脚本的运行日志的方法
2019/06/05 Python
Django admin model 汉化显示文字的实现方法
2019/08/12 Python
Python 获取指定文件夹下的目录和文件的实现
2019/08/30 Python
Python 中判断列表是否为空的方法
2019/11/24 Python
Python查找不限层级Json数据中某个key或者value的路径方式
2020/02/27 Python
快速解决jupyter notebook启动需要密码的问题
2020/04/21 Python
Anaconda+spyder+pycharm的pytorch配置详解(GPU)
2020/10/18 Python
CSS3中的常用选择器使用示例整理
2016/06/13 HTML / CSS
《胡杨》教学反思
2014/02/16 职场文书
化学教育专业自荐信
2014/07/04 职场文书
党支部书记四风问题整改措施
2014/09/24 职场文书
意外伤害赔偿协议书范本
2014/09/28 职场文书
四风问题专项整治工作情况报告
2014/10/28 职场文书
小学教师工作总结2015
2015/04/07 职场文书
西安事变观后感
2015/06/12 职场文书
SpringCloud的JPA连接PostgreSql的教程
2021/06/26 Java/Android