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 相关文章推荐
Jquery在IE7下无法使用 $.ajax解决方法
Nov 11 Javascript
幻灯片带网页设计中的20个奇妙应用示例小结
May 27 Javascript
jQuery Mobile页面跳转后未加载外部JS原因分析及解决
Mar 18 Javascript
javascript创建createXmlHttpRequest对象示例代码
Feb 10 Javascript
node.js入门教程迷你书、node.js入门web应用开发完全示例
Apr 06 Javascript
JQuery 动态生成Table表格实例代码
Dec 02 Javascript
JavaScript简单计算人的年龄示例
Apr 15 Javascript
微信小程序开发教程之增加mixin扩展
Aug 09 Javascript
基于jQuery实现的单行公告活动轮播效果
Aug 23 jQuery
Angular5中提取公共组件之radio list的实例代码
Jul 10 Javascript
Vue.js组件props数据验证实现详解
Oct 19 Javascript
vue实现可移动的悬浮按钮
Mar 04 Vue.js
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
PHP漏洞全解(详细介绍)
2012/11/13 PHP
Yii框架form表单用法实例
2014/12/04 PHP
php实现的农历算法实例
2015/08/11 PHP
php字符串的替换,分割和连接方法
2016/05/23 PHP
PHP实现bitmap位图排序与求交集的方法
2016/07/28 PHP
PHP实现的折半查找算法示例
2017/12/19 PHP
PHP里的$_GET数组介绍
2019/03/22 PHP
浅析PHP7的多进程及实例源码
2019/04/14 PHP
JavaScript 页面坐标相关知识整理
2010/01/09 Javascript
javascript温习的一些笔记 基础常用知识小结
2011/06/22 Javascript
用dtree实现树形菜单 dtree使用说明
2011/10/17 Javascript
基于jquery自定义的漂亮单选按钮RadioButton
2013/11/19 Javascript
javascript数组去重小结
2016/03/07 Javascript
Javascript 实现放大镜效果实例详解
2016/12/03 Javascript
js倒计时显示实例
2016/12/11 Javascript
jQuery简单实现向列表动态添加新元素的方法示例
2017/12/25 jQuery
koa上传excel文件并解析的实现方法
2018/08/09 Javascript
6行代码实现微信小程序页面返回顶部效果
2018/12/28 Javascript
three.js实现炫酷的全景3D重力感应
2018/12/30 Javascript
JS使用cookie保存用户登录信息操作示例
2019/05/30 Javascript
vue quill editor 使用富文本添加上传音频功能
2020/01/14 Javascript
JavaScript获取时区实现过程解析
2020/09/24 Javascript
[03:10]超级美酒第四天 fy拉比克秀 大合集
2018/06/05 DOTA
致Python初学者 Anaconda入门使用指南完整版
2018/04/05 Python
利用ctypes获取numpy数组的指针方法
2019/02/12 Python
详解django中url路由配置及渲染方式
2019/02/25 Python
如何使用python把ppt转换成pdf
2019/06/29 Python
python2爬取百度贴吧指定关键字和图片代码实例
2019/08/14 Python
详解python播放音频的三种方法
2019/09/23 Python
Python GUI之tkinter窗口视窗教程大集合(推荐)
2020/10/20 Python
快速解决pymongo操作mongodb的时区问题
2020/12/05 Python
园长自我鉴定
2013/10/06 职场文书
传播学毕业生求职信
2013/10/11 职场文书
哈弗商学院毕业生求职信
2014/02/26 职场文书
开学第一天的感想
2015/08/10 职场文书
创业计划书之餐饮
2019/09/02 职场文书