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 相关文章推荐
javascript showModalDialog,open取得父窗口的方法
Mar 10 Javascript
JavaScript高级程序设计 客户端存储学习笔记
Sep 10 Javascript
jquery重新播放css动画所遇问题解决
Aug 21 Javascript
往光标所在位置插入值的js代码
Sep 22 Javascript
JS实现向表格中动态添加行的方法
Mar 30 Javascript
AngularJS表单详解及示例代码
Aug 17 Javascript
JS ES6多行字符串与连接字符串的表示方法
Apr 26 Javascript
详谈DOM简介及节点、属性、查找节点的方法
Nov 16 Javascript
微信小程序制作表格的方法
Feb 14 Javascript
Django模板继承 extend标签实例代码详解
May 16 Javascript
JavaScript函数式编程(Functional Programming)高阶函数(Higher order functions)用法分析
May 22 Javascript
webpack 处理CSS资源的实现
Sep 27 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
PHP生成不重复标识符的方法
2014/11/21 PHP
php使用wordwrap格式化文本段落的方法
2015/03/17 PHP
WampServer搭建php环境时遇到的问题汇总
2015/07/23 PHP
使用Composer安装Yii框架的方法
2016/03/15 PHP
php+ajax实现仿百度查询下拉内容功能示例
2017/10/20 PHP
Javascript与vbscript数据共享
2007/01/09 Javascript
JavaScript 事件查询综合
2009/07/13 Javascript
关于Jquery操作Cookie取值错误的解决方法
2013/08/26 Javascript
Script标签与访问HTML页面详解
2014/01/10 Javascript
node.js中的fs.chownSync方法使用说明
2014/12/16 Javascript
JavaScript中的small()方法使用详解
2015/06/08 Javascript
微信小程序  audio音频播放详解及实例
2016/11/02 Javascript
数组Array的排序sort方法
2017/02/17 Javascript
JavaScript登录记住密码操作(超简单代码)
2017/03/22 Javascript
vue.js+Echarts开发图表放大缩小功能实例
2017/06/09 Javascript
Angular5中状态管理的实现
2018/09/03 Javascript
vue实现购物车功能(商品分类)
2020/04/20 Javascript
Openlayers绘制地图标注
2020/09/28 Javascript
跟老齐学Python之使用Python查询更新数据库
2014/11/25 Python
关于Python如何避免循环导入问题详解
2017/09/14 Python
python音频处理用到的操作的示例代码
2017/10/27 Python
Python tkinter事件高级用法实例
2018/01/31 Python
Python常见字典内建函数用法示例
2018/05/14 Python
Python 读写文件的操作代码
2018/09/20 Python
pyttsx3实现中文文字转语音的方法
2018/12/24 Python
Python使用字典的嵌套功能详解
2019/02/27 Python
使用python实现ftp的文件读写方法
2019/07/02 Python
Python实现投影法分割图像示例(一)
2020/01/17 Python
pip install 使用国内镜像的方法示例
2020/04/03 Python
pycharm sciview的图片另存为操作
2020/06/01 Python
世界上最受欢迎的钓鱼诱饵:Rapala
2019/05/02 全球购物
人力资源部培训专员岗位职责
2014/01/02 职场文书
代理商会议邀请函
2014/01/27 职场文书
创建学习型党组织实施方案
2014/03/29 职场文书
交通事故私了协议书
2014/04/16 职场文书
幼儿园小班教育随笔
2015/08/14 职场文书