easyui Droppable组件实现放置特效


Posted in Javascript onAugust 19, 2015

所谓放置,就是将一个物体放入一个物体内,当然对于easyui来说触发各种效果是必不可少的,同时这个组件也不会依赖于其他组件。

Droppable的加载方式

1,class  加载   一直不太喜欢class方式的加载  浪费一个位置,代码一多还看着乱七八糟的。

<div id='dd' class="easyui-droppable" data-options="accept:'#box,#pox'"></div>

2,js 加载调用

$("#box").droppable({
  accept:'#pox',     //将元素pox 放置在元素box中
});

Droppable的属性

1,accept

默认为null,确定哪些元素被接受,也就是那个元素能被放置

$("#box").droppable({
  accept:'#pox',     //将元素pox 放置在元素box中
});

2,deisabled

默认为false   如果为true,则禁止放置

$("#box").droppable({
  accept:'#pox',     //将元素pox 放置在元素box中
  disabled : true ,    //禁止放置
});

Droppable 事件列表

1,onDragEnter  在被拖拽元素到放置区域内的时候触发

2,onDragOver 在被拖拽元素经过放置区域的时候触发

3,onDragLeave  在被拖拽元素离开放置区域的时候触发

4,onDrop  在被拖拽元素放入到放置区的时候触发

onDragEnter /onDragOver/onDragLeave/onDrop: function (e,source){
   //source 参数获取DOM元素
 }

Droppable 方法列表

1,options 返回属性对象

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

2,enable,disable 和上面属性的功能是一样的  分别是启用和禁止放置

$('#box').droppable('enable/disable')

给大家展示下官方的示例吧

<!DOCTYPE html>
<html>
<head>
 <meta charset="UTF-8">
 <title>Accept a Drop - 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>
</head>
<body>
 <div style="margin:20px 0;"></div>
 <div id="source" style="border:1px solid #ccc;width:300px;height:400px;float:left;margin:5px;">
  drag me!
  <div id="d1" class="drag">Drag 1</div>
  <div id="d2" class="drag">Drag 2</div>
  <div id="d3" class="drag">Drag 3</div>
 </div> 
 <div id="target" style="border:1px solid #ccc;width:300px;height:400px;float:left;margin:5px;">
  drop here!
 </div>
 <div style="clear:both"></div>
 <style type="text/css">
  .drag{
   width:100px;
   height:50px;
   padding:10px;
   margin:5px;
   border:1px solid #ccc;
   background:#AACCFF;
  }
  .dp{
   opacity:0.5;
   filter:alpha(opacity=50);
  }
  .over{
   background:#FBEC88;
  }
 </style>
 <script>
  /**
  使用js方式将元素设置为可draggable的
  */
  $(function(){
   $('.drag').draggable({
    proxy:'clone',
    revert:true,
    cursor:'pointer',
    onStartDrag:function(){
     $(this).draggable('options').cursor='not-allowed';//设置鼠标样式为不可拖动
     $(this).draggable('proxy').addClass('dp');//设置样式
    },
    onStopDrag:function(){
     $(this).draggable('options').cursor='auto';//设置鼠标
    }
   });
   //将容易置为droppable并且可接受元素
   $('#target').droppable({
    accept:'#d1,#d3',
    onDragEnter:function(e,source){//拖入
     $(source).draggable('options').cursor='auto';
     $(source).draggable('proxy').css('border','1px solid red');
     $(this).addClass('over');
    },
    onDragLeave:function(e,source){//脱离
     $(source).draggable('options').cursor='not-allowed';
     $(source).draggable('proxy').css('border','1px solid #ccc');
     $(this).removeClass('over');
    },
    onDrop:function(e,source){//放下
     $(this).append(source)
     $(this).removeClass('over');
     alert("我被放下了");
    } ,
    //onDropOver当元素被拖出(成功放入到某个容器)的时候触发
    onDragOver:function(e,source){
      alert("我被拖出去了");//先于alert("我被放下了");执行,表明其触发在onDrop之前。
   }
   });
  });
 </script>
 
</body>
</html>

          运行效果图这里就不给出了,官网直接就可以查看。OVER!

          效果地址: http://www.jeasyui.com/demo/main/index.php?plugin=Droppable&theme=default&dir=ltr&pitem=

easyui 1.3.5 Droppable 就此完结。

Javascript 相关文章推荐
firefox firebug中文入门教程 脚本之家新年特别版
Jan 02 Javascript
JavaScript 设计模式之组合模式解析
Apr 09 Javascript
JavaScript加强之自定义event事件
Sep 21 Javascript
使用简洁的jQuery方法实现隔行换色功能
Jan 02 Javascript
关于JS数组追加数组采用push.apply的问题
Jun 09 Javascript
jQuery实现表单步骤流程导航代码分享
Aug 28 Javascript
jquery获取复选框checkbox的值实现方法
May 30 Javascript
详解Node.js如何开发命令行工具
Aug 14 Javascript
JavaScript中this的四个绑定规则总结
Sep 26 Javascript
jQuery Validate格式验证功能实例代码(包括重名验证)
Jul 18 jQuery
解决mui框架中switch开关通过js控制开或者关状态时小圆点不动的问题
Sep 03 Javascript
js前端图片加载异常兜底方案
Jun 21 Javascript
js实现简单的联动菜单效果
Aug 19 #Javascript
javascript 使用for循环时该注意的问题-附问题总结
Aug 19 #Javascript
jQuery满意度星级评价插件特效代码分享
Aug 19 #Javascript
easyui Draggable组件实现拖动效果
Aug 19 #Javascript
使用CamanJS在Web页面上处理图像的技巧
Aug 18 #Javascript
JS实现下拉菜单赋值到文本框的方法
Aug 18 #Javascript
JS实现可调整倒计时间代码分享
Aug 18 #Javascript
You might like
日本十大最佳动漫,全都是二次元的神级作品
2019/10/05 日漫
elgg 获取文件图标地址的方法
2010/03/20 PHP
php preg_match的匹配不同国家语言实例
2016/12/29 PHP
用javascript实现画板的代码
2007/09/05 Javascript
javascript中&quot;/&quot;运算符常见错误
2010/10/13 Javascript
有关于eclipse配置spket需要注意的一些地方
2013/04/07 Javascript
js遍历、动态的添加数据的小例子
2013/06/22 Javascript
在JavaScript应用中使用RequireJS来实现延迟加载
2015/07/01 Javascript
angular ngClick阻止冒泡使用默认行为的方法
2016/11/03 Javascript
Angular工具方法学习
2016/12/26 Javascript
Vue.js双向绑定操作技巧(初级入门)
2016/12/27 Javascript
全面解析Node.js 8 重要功能和修复
2017/06/02 Javascript
使用npm安装最新版本nodejs
2018/01/18 NodeJs
详解SPA中前端路由基本原理与实现方式
2018/09/12 Javascript
简单了解Vue + ElementUI后台管理模板
2020/04/07 Javascript
[07:26]2015国际邀请赛第二日TOP10集锦
2015/08/06 DOTA
python插入排序算法的实现代码
2013/11/21 Python
python使用marshal模块序列化实例
2014/09/25 Python
Python如何读取MySQL数据库表数据
2017/03/11 Python
Unicode和Python的中文处理
2017/03/19 Python
Python中with及contextlib的用法详解
2017/06/08 Python
Python基于time模块求程序运行时间的方法
2017/09/18 Python
python中requests和https使用简单示例
2018/01/18 Python
python去除扩展名的实例讲解
2018/04/23 Python
Python魔法方法详解
2019/02/13 Python
Spring Cloud Feign高级应用实例详解
2019/12/10 Python
Pytorch对Himmelblau函数的优化详解
2020/02/29 Python
Django 解决上传文件时,request.FILES为空的问题
2020/05/20 Python
详解html5 canvas 微信海报分享(个人爬坑)
2018/01/12 HTML / CSS
Monki官网:斯堪的纳维亚的独立时尚品牌
2020/11/09 全球购物
小学教师办公室制度
2014/02/03 职场文书
机关干部个人对照检查材料思想汇报
2014/09/28 职场文书
雨雪天气温馨提示
2015/07/15 职场文书
《曾国藩家书》读后感——读家书,立家风
2019/08/21 职场文书
漫画「日和酱的要求是绝对的」第3卷封面公开
2022/03/21 日漫
Android Flutter实现3D动画效果示例详解
2022/04/07 Java/Android