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 相关文章推荐
Iframe thickbox2.0使用的方法
Mar 05 Javascript
myFocus slide3D v1.1.0 使用方法与下载
Jan 12 Javascript
Javascript setInterval的两种调用方法(实例讲解)
Nov 29 Javascript
返回上一页并自动刷新的JavaScript代码
Feb 19 Javascript
js实现的类似于asp数据字典的数据类型代码实例
Sep 03 Javascript
JavaScript字符串对象split方法入门实例(用于把字符串分割成数组)
Oct 16 Javascript
理解javascript中Map代替循环
Feb 26 Javascript
Jquery循环截取字符串的方法(多出的字符串处理成&quot;...&quot;)
Nov 28 Javascript
javascript滚轮事件基础实例讲解(37)
Feb 14 Javascript
百度地图JavascriptApi Marker平滑移动及车头指向行径方向
Mar 13 Javascript
AnglarJs中的上拉加载实现代码
Feb 08 Javascript
简单了解Javscript中兄弟ifream的方法调用
Jun 17 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 随机生成10位字符代码
2009/03/26 PHP
php生成图形(Libchart)实例
2013/11/06 PHP
php基本函数汇总
2015/07/09 PHP
joomla实现注册用户添加新字段的方法
2016/05/05 PHP
IE6,IE7,IE8下使用Javascript记录光标选中范围(已补全)
2011/08/28 Javascript
jQuery EasyUI API 中文文档 - Tabs标签页/选项卡
2011/10/01 Javascript
javascript 常用功能总结
2012/03/18 Javascript
JS 实现获取打开一个界面中输入的值
2013/03/19 Javascript
JavaScript按值删除数组元素的方法
2015/04/24 Javascript
使用console进行性能测试
2015/04/27 Javascript
基于jQuery Tipso插件实现消息提示框特效
2016/03/16 Javascript
laydate.js日期时间选择插件
2017/01/04 Javascript
微信小程序(三):网络请求
2017/01/13 Javascript
jQuery插件HighCharts绘制2D金字塔图效果示例【附demo源码下载】
2017/03/09 Javascript
关于vue.extend和vue.component的区别浅析
2017/08/16 Javascript
jQuery实现的文字逐行向上间歇滚动效果示例
2017/09/06 jQuery
react配合antd组件实现的管理系统示例代码
2018/04/24 Javascript
说说node中的可读流和可写流的区别
2018/06/01 Javascript
python机器学习之决策树分类详解
2017/12/20 Python
Python设计模式之备忘录模式原理与用法详解
2019/01/15 Python
python环境路径配置以及命令行运行脚本
2019/04/02 Python
Python random库使用方法及异常处理方案
2020/03/02 Python
Python实现邮件发送的详细设置方法(遇到问题)
2021/01/18 Python
CSS3用@font-face实现自定义英文字体
2013/09/23 HTML / CSS
ghd官网:英国ghd直发器品牌
2018/05/04 全球购物
英国蜡烛、蜡烛配件和家居香氛购买网站:Yankee Candle
2018/12/12 全球购物
高中生的学习总结自我鉴定
2013/10/26 职场文书
岗位廉洁从政承诺书
2014/03/27 职场文书
中学教师师德承诺书
2014/05/23 职场文书
消防宣传口号
2014/06/16 职场文书
现役军人家属慰问信
2015/03/24 职场文书
教师岗位说明书
2015/09/30 职场文书
2016婚礼主持词开场白
2015/11/24 职场文书
vue实现锚点定位功能
2021/06/29 Vue.js
nginx配置虚拟主机的详细步骤
2021/07/21 Servers
java项目构建Gradle的使用教程
2022/03/24 Java/Android