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 基础问答三
Dec 03 Javascript
javascript获取选中的文本的方法代码
Oct 30 Javascript
js操作输入框提示信息且响应鼠标事件
Mar 25 Javascript
Jquery跳到页面指定位置的方法
May 12 Javascript
js的延迟执行问题分析
Jun 23 Javascript
JavaScript获取表单内所有元素值的方法
Apr 02 Javascript
javascript原生ajax写法分享
Apr 10 Javascript
基于jQuery实现数字滚动效果
Jan 16 Javascript
利用node.js+mongodb如何搭建一个简单登录注册的功能详解
Jul 30 Javascript
Vue分页器实现原理详解
Jun 28 Javascript
js的新生代垃圾回收知识点总结
Aug 22 Javascript
node省市区三级数据性能测评实例分析
Nov 06 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
Flash空降上海 化身大魔王接受挑战
2020/03/02 星际争霸
phpmyadmin出现Cannot start session without errors问题解决方法
2014/08/14 PHP
php中动态调用函数的方法
2015/03/16 PHP
让焦点自动跳转
2006/07/01 Javascript
TopList标签和JavaScript结合两例
2007/08/12 Javascript
js加解密 脚本解密
2008/02/22 Javascript
jQuery表格行换色的三种实现方法
2011/06/27 Javascript
Jquery easyUI 更新行示例
2014/03/06 Javascript
Bootstrap基础学习
2015/06/16 Javascript
理解Angular数据双向绑定
2016/01/10 Javascript
bootstrap table操作技巧分享
2017/02/15 Javascript
基于Bootstrap框架菜鸟入门教程(推荐)
2017/09/17 Javascript
vue中实现图片和文件上传的示例代码
2018/03/16 Javascript
Node.js中的child_process模块详解
2018/06/08 Javascript
使用Python的PIL模块来进行图片对比
2016/02/18 Python
python套接字流重定向实例汇总
2016/03/03 Python
在java中如何定义一个抽象属性示例详解
2017/08/18 Python
Python自然语言处理之词干,词形与最大匹配算法代码详解
2017/11/16 Python
Python实现读取txt文件中的数据并绘制出图形操作示例
2019/02/26 Python
pyqt5 QProgressBar清空进度条的实例
2019/06/21 Python
python 判断三个数字中的最大值实例代码
2019/07/24 Python
python 中xpath爬虫实例详解
2019/08/26 Python
python实现的批量分析xml标签中各个类别个数功能示例
2019/12/30 Python
Python函数参数定义及传递方式解析
2020/06/10 Python
python 无损批量压缩图片(支持保留图片信息)的示例
2020/09/22 Python
Expedia印度尼西亚站:预订酒店、廉价航班和度假套餐
2018/01/31 全球购物
在线吉他课程,学习如何弹吉他:Fender Play
2019/02/28 全球购物
StubHub中国:购买和出售全球活动门票
2020/01/01 全球购物
State Cashmere官网:半零售价可持续蒙古羊绒
2020/02/26 全球购物
几个Shell Script面试题
2012/08/31 面试题
服装销售人员求职自我评价
2013/09/26 职场文书
关于美容院的活动方案
2014/08/14 职场文书
农村党支部书记司法四风问题对照检查材料
2014/09/26 职场文书
项目备案申请报告
2015/05/15 职场文书
javascript遍历对象的五种方式实例代码
2021/10/24 Javascript
不负正版帝国之名 《重返帝国》引领SLG手游制作新的标杆
2022/04/07 其他游戏