轻松学习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 相关文章推荐
javascript flash下fromCharCode和charCodeAt方法使用说明
Jan 12 Javascript
return false;和e.preventDefault();的区别
Jul 11 Javascript
基于JQuery实现的Select级联
Jan 27 Javascript
node.js使用require()函数加载模块
Nov 26 Javascript
jquery判断当前浏览器的实现代码
Nov 07 Javascript
jQuery页面加载初始化的3种方法(推荐)
Jun 02 Javascript
js中字符型和数值型数字的互相转化方法(必看)
Apr 25 Javascript
ReactNative短信验证码倒计时控件的实现代码
Jul 20 Javascript
js学习总结之DOM2兼容处理this问题的解决方法
Jul 27 Javascript
原生JS实现小小的音乐播放器
Oct 16 Javascript
vue中使用sessionStorage记住密码功能
Jul 24 Javascript
jQuery HTML css()方法与css类实例详解
May 20 jQuery
轻松学习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引用计数器进行垃圾收集机制介绍
2012/09/19 PHP
使用HMAC-SHA1签名方法详解
2013/06/26 PHP
PHP访问Google Search API的方法
2015/03/05 PHP
PHP文件与目录操作示例
2016/12/24 PHP
PHP自动补全表单的两种方法
2017/03/06 PHP
Thinkphp5 自定义上传文件名的实现方法
2019/07/23 PHP
laravel框架的安装与路由实例分析
2019/10/11 PHP
iis6+javascript Add an Extension File
2007/06/13 Javascript
jquery动画2.元素坐标动画效果(创建一个图片走廊)
2012/08/24 Javascript
js鼠标点击事件在各个浏览器中的写法及Event对象属性介绍
2013/01/24 Javascript
JS隐藏参数post传值实例
2013/04/18 Javascript
httpclient模拟登陆具体实现(使用js设置cookie)
2013/12/11 Javascript
浅析js预加载/延迟加载
2014/09/25 Javascript
jQuery实现菜单感应鼠标滑动动画效果的方法
2015/02/28 Javascript
AngularJS动态生成div的ID源码解析
2016/08/29 Javascript
js插件Jcrop自定义截取图片功能
2016/10/14 Javascript
微信小程序 MINA文件结构
2016/10/17 Javascript
自学实现angularjs依赖注入
2016/12/20 Javascript
详解Javascript获取缓存和清除缓存API
2017/05/25 Javascript
vue.js开发实现全局调用的MessageBox组件实例代码
2017/11/22 Javascript
为什么JavaScript中0.1 + 0.2 != 0.3
2020/12/03 Javascript
[04:44]DOTA2英雄梦之声_第12期_矮人直升机
2014/06/21 DOTA
教你如何将 Sublime 3 打造成 Python/Django IDE开发利器
2014/07/04 Python
在Python中操作字符串之startswith()方法的使用
2015/05/20 Python
python实现汉诺塔方法汇总
2016/07/25 Python
使用tensorflow实现线性回归
2018/09/08 Python
Python如何实现小程序 无限求和平均
2020/02/18 Python
python利用Excel读取和存储测试数据完成接口自动化教程
2020/04/30 Python
CSS3+JavaScript实现炫酷呼吸效果的示例代码
2020/06/15 HTML / CSS
个人生活学习自我评价范文
2013/11/26 职场文书
银行简历自我评价
2014/02/11 职场文书
全国文明单位申报材料
2014/05/31 职场文书
幼儿园开学温馨提示
2015/07/15 职场文书
清洁工工作总结
2015/08/11 职场文书
Nginx 安装SSL证书完成HTTPS部署
2022/04/28 Servers
Android RecyclerView实现九宫格效果
2022/06/28 Java/Android