全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

详解有关easyUI的拖动操作中droppable,draggable用法例子

这个demo展示的效果为:从上面可以拖动到下面相应的框中(原有的不能再拖动),拖动框中的东西到外面可以取消

-----------以下为HTML

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <title></title>
  <link rel="stylesheet" type="text/css" href="css/bootstrap-3.3.5/css/bootstrap.min.css" rel="external nofollow" >
  <link rel="stylesheet" type="text/css" href="css/easyui.css" rel="external nofollow" >
  <link rel="stylesheet" type="text/css" href="css/icon.css" rel="external nofollow" >
  <link rel="stylesheet" href="css/demo.css" rel="external nofollow" >
</head>
<body>
  <div class="container">
   <ul class="items">
     <li class="category">
      <i></i>
      <span>品类</span>
     </li>
     <li class="factory">
      <i></i>
      <span>工厂</span>
     </li>
     <li class="with-high">
      <i></i>
      <span>跟高</span>
     </li>
     <li class="with-type">
      <i></i>
      <span>跟型</span>
     </li>
     <li class="price">
      <i></i>
      <span>单价</span>
     </li>
   </ul>
   <div class="target">
     <div class="target-cascade">
      <span>级联统计指标</span>
      <ul>
      </ul>
     </div>
     <div class="target-column">
      <span>列指标</span>
      <ul>
      </ul>
     </div>
   </div>
  </div>
  <script src="js/jquery.js"></script>
  <script src="js/jquery.easyui.min.js"></script>
  <script src="js/demo.js"></script>
</body>
</html>

-------------以下为js代码

var tab = [];
$('.items li').draggable({
  proxy: 'clone',
  revert: true
});
// 级联统计指标放置区
$('.target-cascade').droppable({
  onDragEnter: function(e,source){
   $(this).css('border','1px solid red');
  },
  onDragLeave: function(e,source){
   $(this).css('border','1px solid black');
  },
  onDrop: function(e,source){
   // 判断拖动的元素是否存在于放置区内
   if($(source).draggable('options').proxy === 'clone'){
     // 禁用拖动
     NotDrag(source);
     // 将拖入元素的原位置记录下来
     var buttonName = $(source).find('span').html();
     console.log("--------"+$(source).index());
     tab[buttonName] = $(source).index();//返回指定元素相对于其他元素的位置(0,1等),如果没有找到,则返回-1
     var Ele = $('<li class='+ $(source)[0].className +'><button>'+ buttonName +'</button></li>');
     Ele.appendTo('.target-cascade ul');
   }
   $(this).css('border','1px solid black');

   // 拖动放置区内的元素
   $(this).find('button').draggable({
     revert: true,
     onStopDrag: function(e){
      var _index = tab[$(this).html()];
      $(this).parent().remove();
      $('.items li:eq('+_index+')').draggable('enable');
      $('.items li:eq('+_index+')').find('i').css('backgroundColor','red');
     }
   });
  }
});
// 列指标放置区
$('.target-column').droppable({
  onDragEnter: function(e,source){
   $(this).css('border','1px solid red'); 
  },
  onDragLeave: function(e,source){
   $(this).css('border','1px solid black');
  },
  onDrop: function(e,source){
   // 判断拖动的元素是否存在于放置区内
   if($(source).draggable('options').proxy === 'clone'){
     // 禁用拖动
     NotDrag(source);
     var buttonName = $(source).find('span').html();
     tab[buttonName] = $(source).index();
     var Ele = $('<li class='+ $(source)[0].className +'><button>'+ buttonName +'</button><select><option value ="show">显示</option>'+
      '<option value ="sum">求和</option><option value ="count">计数</option></select></li>');
     Ele.appendTo('.target-column ul');
   }
   $(this).css('border','1px solid black');
   // 拖动放置区内的元素
   $(this).find('button').draggable({
     revert: true,
     onDrag: function(e){
      $(e.data.parent).find('select').hide();
     },
     onStopDrag: function(e){
      var _index = tab[$(this).html()];
      $(this).parent().remove();
      $('.items li:eq('+_index+')').draggable('enable');
      $('.items li:eq('+_index+')').find('i').css('backgroundColor','red');

      $(e.target).siblings('select').show();
     }
   });
  }
});
//禁止拖动
function NotDrag(source){
  $(source).draggable('disable');//禁用拖动动作
  $(source).find('i').css('backgroundColor','grey');
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# draggable  # droppable  # easyui  # 拖动例子  # draggable例子  # jQuery easyui的validatebox校验规则扩展及easyui校验框validateb  # easyui的tabs update正确用法分享  # jquery easyui中treegrid用法的简单实例  # EasyUI中的tree用法介绍  # jQuery EasyUI NumberBox(数字框)的用法  # 简述jQuery Easyui一些用法  # 拖动  # 区内  # 框中  # 是否存在  # 级联  # 如果没有  # 相对于  # 能再  # 大家多多  # 拖入  # nofollow  # external  # body  # icon  # min  # css  # demo  # href  # bootstrap 


相关文章: 建站之星如何快速更换网站模板?  历史网站制作软件,华为如何找回被删除的网站?  网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?  如何选择适配移动端的WAP自助建站平台?  Dapper的Execute方法的返回值是什么意思 Dapper Execute返回值详解  企业微网站怎么做,公司网站和公众号有什么区别?  c++怎么用jemalloc c++替换默认内存分配器【性能】  开封网站制作公司,网络用语开封是什么意思?  如何在景安服务器上快速搭建个人网站?  广州网站制作的公司,现在专门做网站的公司有没有哪几家是比较好的,性价比高,模板也多的?  兔展官网 在线制作,怎样制作微信请帖?  网站制作大概要多少钱一个,做一个平台网站大概多少钱?  成都网站制作公司哪家好,四川省职工服务网是做什么用?  黑客如何利用漏洞与弱口令入侵网站服务器?  济南网站建设制作公司,室内设计网站一般都有哪些功能?  已有域名建站全流程解析:网站搭建步骤与建站工具选择  建站之星×万网:智能建站系统+自助建站平台一键生成  Python lxml的etree和ElementTree有什么区别  javascript基本数据类型及类型检测常用方法小结  如何用花生壳三步快速搭建专属网站?  c# 在高并发场景下,委托和接口调用的性能对比  如何实现建站之星域名转发设置?  如何快速生成凡客建站的专业级图册?  湖南网站制作公司,湖南上善若水科技有限公司做什么的?  头像制作网站在线制作软件,dw网页背景图像怎么设置?  建站之星下载版如何获取与安装?  香港服务器网站卡顿?如何解决网络延迟与负载问题?  手机怎么制作网站教程步骤,手机怎么做自己的网页链接?  免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?  已有域名和空间,如何快速搭建网站?  ,怎么用自己头像做动态表情包?  山东网站制作公司有哪些,山东大源集团官网?  如何用PHP快速搭建高效网站?分步指南  ,怎么在广州志愿者网站注册?  建站之星客服服务时间及联系方式如何?  建站之星好吗?新手能否轻松上手建站?  成都网站制作报价公司,成都工业用气开户费用?  存储型VPS适合搭建中小型网站吗?  如何快速建站并高效导出源代码?  建站之星后台管理系统如何操作?  建站主机解析:虚拟主机配置与服务器选择指南  微信推文制作网站有哪些,怎么做微信推文,急?  专业网站制作服务公司,有哪些网站可以免费发布招聘信息?  如何用AWS免费套餐快速搭建高效网站?  建站之星安装后界面空白如何解决?  如何选择靠谱的建站公司加盟品牌?  建站之星如何保障用户数据免受黑客入侵?  青浦网站制作公司有哪些,苹果官网发货地是哪里?  江苏网站制作公司有哪些,江苏书法考级官方网站?  做企业网站制作流程,企业网站制作基本流程有哪些? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。