easyui Draggable组件实现拖动效果


Posted in Javascript onAugust 19, 2015

easyui做为一个封装了JQusey的UI插件,其实还是蛮好用的,至少省了像我这种渣渣很多时间。

Draggable的加载方式有两种:

1,通过class加载,如下:

<div id="box" class="easyui-draggable"></div>

通过JS加载,如下:

$('#box').draggable();

以上两点需要注意的是不管是'easyui-draggable',还是draggable 都是固定的,他们都是通过调用easyui已经写好的函数,来实现jQuery效果的。

Draggable的属性:

revert    当值为true时,拖动停止时返回起始位置,可以到处拖。

revert : boolean,

axis

限制拖动的方向,水平'h'?垂直'v'?这个和 revert组合起来比较有意思,设置拖动方向为

垂直的话就跟微信,微博刷新消息一样。

axis : String/'v'/'h',

proxy

克隆,就是拖动的时候要拖动的对象不变,然后在鼠标上复制一个要拖动的对象,当然也

可以是其他的,可以触发function。

proxy : null/String/function,

然后还有很多其他的属性,觉得并不是特别有趣。

cursor : move/String ,     //指定拖动时候指针的CSS样式 变得美美哒
deltaX : null/number,
deltaY : null/number,    //被拖动的元素对应于当前光标位置的x,y  就是给被   拖动元素与光标一个距离
handle : null/selector    //开始拖动的句柄   手柄!只能用手柄拖动!对的!
disabled : boolean        //设置为true是,不能拖动当先绑定的元素
edge : number             //可以在其中拖动的容器的宽度  从容器的上下左右往里算 ,就像一个矩形里面包着一个矩形 ,然后里面那只有鼠标放在里面矩形的时候元素才能被拖动   

例子:

$('#box').draggable({
  revert : true,
  cursor: 'text',
  handle : '#pox',
  disabled : false,
  edge : 50,
  axis :'v',
  proxy : 'clone',
  deltaX: 10,
  deltaY : 10,
  proxy: function(source){
    console.log('呵呵哒!');
  }
});

Draggable的事件:

onBeforeDrag  拖动之前触发,返回false将取消拖动

onBeforeDrag : function (e){
  alert('拖动之前触发');
  return false;
}

onStartDrag 拖动时触发

onStartDrag : function(e){
  alert('拖动时触发');
}

onDrag 拖动过程中触发,不能拖动事返回false

onDrag : function(e){
  alert('拖动过程触发');
}

onDrag 停止拖动时触发

onStopDrag : function (e){
  alert('在拖动停止时触发');
}

 Draggable 方法列表

options 返回属性对象

console.log($('#box').draggable('options'));

    proxy 如果代理属性被设置则返回该拖动代理元素

console.log($('#box').draggable('proxy'));

enable 可以被拖动

$('#box').draggable('enable');

disable 禁止被拖动

$('#box').draggable('disable');

我们来看个简单的例子

<pre class="brush:java;">html>
 
 
 
  <meta charset="UTF-8">
  <title>Basic Draggable - jQuery EasyUI Demo</title>
  <link rel="stylesheet" type="text/css" href="jquery-easyui-1.3.6/themes/metro/easyui.css">
  <link rel="stylesheet" type="text/css" href="jquery-easyui-1.3.6/themes/icon.css">
  <link rel="stylesheet" type="text/css" href="jquery-easyui-1.3.6/demo/demo.css">
  <script type="text/javascript" src="jquery-easyui-1.3.6/jquery.min.js"></script>
  <script type="text/javascript" src="jquery-easyui-1.3.6/jquery.easyui.min.js"></script>
 
 
 
  <h2>Basic Draggable</h2>
  <p>Move the boxes below by clicking on it with mouse.</p>
  <div id="dd" class="easyui-draggable" data-options="handle:'#title'" style="width:100px;height:100px;">
    <div id="title" style="background:#ccc;width:100px;height:100px;">容器里面的内容</div>
  </div>
  <script>
    $(function () {
 
      $("#title").draggable({
        proxy: function (a) {
          var a = $('<div class="proxy_div">你拖我干啥</div>');
          a.appendTo('body');
          return a;
        },
        cursor: 'pointer',
        edge: '6'
      });
    });
  </script>
 
 
</pre><br><br>

以上差不多就是Easyui 1.2.5  Draggable的全部属性,事件、方法和示例了, 如果有什么不对的话,欢迎评论,一起讨论和赐教。

Javascript 相关文章推荐
jQuery事件绑定.on()简要概述及应用
Feb 07 Javascript
Textbox控件注册回车事件及触发按钮提交事件具体实现
Mar 04 Javascript
JavaScript设计模式之单件模式介绍
Dec 28 Javascript
JavaScript获取表格(table)当前行的值、删除行、增加行
Jul 03 Javascript
基于jQuery Bar Indicator 插件实现进度条展示效果
Sep 30 Javascript
jquery实现表单验证简单实例演示
Nov 23 Javascript
AngularJS 指令的交互详解及实例代码
Sep 14 Javascript
ionic cordova一次上传多张图片(类似input file提交表单)的实现方法
Dec 16 Javascript
axios基本入门用法教程
Mar 25 Javascript
在Js页面通过POST传递参数跳转到新页面详解
Aug 25 Javascript
微信小程序选择图片和放大预览图片功能
Nov 02 Javascript
vue将文件/图片批量打包下载zip的教程
Oct 21 Javascript
使用CamanJS在Web页面上处理图像的技巧
Aug 18 #Javascript
JS实现下拉菜单赋值到文本框的方法
Aug 18 #Javascript
JS实现可调整倒计时间代码分享
Aug 18 #Javascript
DOM事件阶段以及事件捕获与事件冒泡先后执行顺序(图文详解)
Aug 18 #Javascript
js实现带有介绍的Select列表菜单实例
Aug 18 #Javascript
jQuery垂直多级导航菜单代码分享
Aug 18 #Javascript
js简单实现表单中点击按钮动态增加输入框数量的方法
Aug 18 #Javascript
You might like
使用ThinkPHP自带的Http类下载远程图片到本地的实现代码
2011/08/02 PHP
smarty模板引擎从配置文件中获取数据的方法
2015/01/22 PHP
php的GD库imagettftext函数解决中文乱码问题
2015/01/24 PHP
visual studio code 调试php方法(图文详解)
2017/09/15 PHP
javascript indexOf函数使用说明
2008/07/03 Javascript
jQuery 页面 Mask实现代码
2010/01/09 Javascript
jQuery 遍历-nextUntil()方法以及prevUntil()方法的使用介绍
2013/04/26 Javascript
nodejs 提示‘xxx’ 不是内部或外部命令解决方法
2014/11/20 NodeJs
详解javascript传统方法实现异步校验
2016/01/22 Javascript
JS动态添加选项案例分析
2016/10/17 Javascript
谈谈因Vue.js引发关于getter和setter的思考
2016/12/02 Javascript
js实现百度搜索提示框
2017/02/05 Javascript
jquery.rotate.js实现可选抽奖次数和中奖内容的转盘抽奖代码
2017/08/23 jQuery
vue模块拖拽实现示例代码
2019/03/09 Javascript
微信小程序框架的页面布局代码
2019/08/17 Javascript
JS防抖和节流实例解析
2019/09/24 Javascript
原生js实现九宫格拖拽换位
2021/01/26 Javascript
python学习手册中的python多态示例代码
2014/01/21 Python
浅析python 内置字符串处理函数的使用方法
2014/06/11 Python
详解Python的Django框架中Manager方法的使用
2015/07/21 Python
基于python内置函数与匿名函数详解
2018/01/09 Python
Python输出各行命令详解
2018/02/01 Python
TensorFlow实现创建分类器
2018/02/06 Python
Python使用zip合并相邻列表项的方法示例
2018/03/17 Python
python django下载大的csv文件实现方法分析
2019/07/19 Python
一文了解python 3 字符串格式化 F-string 用法
2020/03/04 Python
python 日志模块 日志等级设置失效的解决方案
2020/05/26 Python
时装界的“朋克之母”:Vivienne Westwood
2017/07/06 全球购物
物业管理求职自荐信
2013/09/25 职场文书
旅游与酒店管理的自我评价分享
2013/11/03 职场文书
安全生产检讨书
2014/01/21 职场文书
《口技》教学反思
2014/02/21 职场文书
网络编辑求职信
2014/04/30 职场文书
终止或解除劳动合同及劳动关系的证明书
2014/10/06 职场文书
部门群众路线教育实践活动对照检查材料思想汇报
2014/10/07 职场文书
解除同居协议书
2015/01/29 职场文书