jQuery实现的跨容器无缝拖动效果代码


Posted in Javascript onJune 21, 2016

本文实例讲述了jQuery实现的跨容器无缝拖动效果。分享给大家供大家参考,具体如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title>New Web Project</title>
  <link type = "text/css" href = "jquery-ui.css" rel = "stylesheet"/>
  <style type = "text/css">
   .EZ_SITE{width:990px; position: relative; margin:0px auto; top:30px;}
   .EZ_SITE_HEADER{width:990px; position: absolute; height:80px; border:1px solid red;}
   .ez_site_border{position: absolute; width:100%; height:100%; background-color:#000;}
   .ez_site_background{position: absolute; width:100%; height:100%;background-color:#fff; margin:0px;}
   .EZ_SITE_PAGE{width:990px; height:500px; position: absolute;top:82px;border:1px solid blue;} 
   .ez_page_content{width:100%; height:100%; position: absolute;}
   .EZ_SITE_FOOTER{width:990px; position: absolute; height:80px; top:580px;border:1px solid green;}   
   #dragMe{
    position:absolute;
    top:100px;
    left:100px;
    width:100px;
    height:50px;
    border:1px solid green;
    line-height:50px;
    cursor:move;
    text-align: center;
    z-index:999;
    background:#008800;
   }
   .box{
    position:absolute;
    top:100px;
    left:300px;
    width:300px;
    height:200px;
    border:1px solid blue;
    line-height:200px;
    cursor:move;
    text-align: center;
    z-index:990;
    background:#ddd;
   }
  </style>
  <script type = "text/javascript" src = "jquery-1.7.1.min.js"> </script>
  <script type = "text/javascript" src="jquery-ui.js"> </script>
  <script type = "text/javascript">
   $(function(){
    var obj = {
       drop:function(e,ui){
        var handle = ui.helper,
         _left = handle.offset().left,
         _top = handle.offset().top,
         cleft = $(this).offset().left,
         ctop = $(this).offset().top;
        handle.appendTo($(this)).css({
         left:_left-cleft,
         top:_top-ctop
        });
       }
    }; 
    $("#addBox").click(function(){
     var $box = $('<div class = "box">box</div>');
     $box.appendTo($("#EZ_SITE_PAGE")).draggable().droppable(obj);
    })
    $("#dragMe,#box").draggable({
     containment:"#EZ_SITE"
    });
    $(".ez_page_content,#box").droppable(obj);
   })
  </script>
 </head>
 <body>
  <div id="EZ_SITE" class="EZ_SITE">
   <div id="EZ_SITE_HEADER" class="EZ_SITE_HEADER">
    <div class="ez_site_border">
     <div class="ez_site_background"></div>
    </div>
    <div class="ez_page_content">
     <div style="position: absolute; top:20px; left:30px;">这是一个网站标题</div>
     <div style="position: absolute; top:20px; left:300px;" class="mk-element-navigation">
      <a href="javascript:;" id="index">主页</a>
      <a href="javascript:;" id="product">产品</a>
     </div>
    </div>
   </div>
   <div id="EZ_SITE_PAGE" class="EZ_SITE_PAGE">
    <input type = "button" value = "添加容器" id = "addBox"/>
    <div class="ez_site_border" style="height:500px;">
     <div class="ez_site_background"></div>
    </div>
    <div id="index" class="ez_page_content" style="opacity: 1;" current="true">
     <div style="position: absolute; top:20px; left:30px; font-weight: bold;">这是一个主页面</div>
     <div id = "dragMe">dragMe</div>
    </div>
   </div>
   <div id="EZ_SITE_FOOTER" class="EZ_SITE_FOOTER">
    <div class="ez_site_border">
     <div class="ez_site_background"></div>
    </div>
    <div class="ez_page_content">
     <div style="position: absolute; top:20px; left:30px;">这里是页脚</div>
    </div>
   </div>
  </div>
 </body>
</html>

希望本文所述对大家jQuery程序设计有所帮助。

Javascript 相关文章推荐
javascript学习笔记(十五) js间歇调用和超时调用
Jun 20 Javascript
js实现class样式的修改、添加及删除的方法
Jan 20 Javascript
jquery复选框多选赋值给文本框的方法
Jan 27 Javascript
JavaScript使用Math.Min返回两个数中较小数的方法
Apr 06 Javascript
React.js入门学习第一篇
Mar 30 Javascript
值得分享和收藏的Bootstrap学习教程
May 12 Javascript
Jq通过td获取同行其它列td的方法
Oct 05 Javascript
微信小程序 判断手机号的实现代码
Apr 19 Javascript
浅析java线程中断的办法
Jul 29 Javascript
js取小数点后两位四种方法
Jan 18 Javascript
vue中更改数组中属性,在页面中不生效的解决方法
Oct 30 Javascript
原生js+canvas实现下雪效果
Aug 02 Javascript
解决微信浏览器Javascript无法使用window.location.reload()刷新页面
Jun 21 #Javascript
JS基于构造函数实现的菜单滑动显隐效果【测试可用】
Jun 21 #Javascript
Bootstrap中的表单验证插件bootstrapValidator使用方法整理(推荐)
Jun 21 #Javascript
关于JS中setTimeout()无法调用带参函数问题的解决方法
Jun 21 #Javascript
原生JS封装ajax 传json,str,excel文件上传提交表单(推荐)
Jun 21 #Javascript
jQuery动态添加可拖动元素完整实例(附demo源码下载)
Jun 21 #Javascript
带有定位当前位置的百度地图前端web api实例代码
Jun 21 #Javascript
You might like
PHP COOKIE及时生效的方法介绍
2014/02/14 PHP
PHP获取当前系统时间的方法小结
2018/10/03 PHP
JavaScript Prototype对象
2009/01/07 Javascript
jQuery LigerUI 使用教程入门篇
2012/01/18 Javascript
AngularJS学习笔记之ng-options指令
2015/06/16 Javascript
动态加载JavaScript文件的两种方法
2016/04/22 Javascript
JavaScript字符串对象(string)基本用法示例
2017/01/18 Javascript
Jquery鼠标放上去显示全名的实现方法
2017/02/06 Javascript
jQuery ajax读取本地json文件的实例
2017/10/31 jQuery
基于vue-cli、elementUI的Vue超简单入门小例子(推荐)
2019/04/17 Javascript
详解JavaScript中的坐标和距离
2019/05/27 Javascript
基于layui table返回的值的多级嵌套的解决方法
2019/09/19 Javascript
6种JavaScript继承方式及优缺点(小结)
2020/02/06 Javascript
JS自定义滚动条效果
2020/03/13 Javascript
基于JavaScript实现贪吃蛇游戏
2020/03/16 Javascript
[02:54]辉夜杯主赛事第二日败者组 iG.V赛后采访
2015/12/26 DOTA
[02:02]2018DOTA2亚洲邀请赛Mineski赛前采访
2018/04/04 DOTA
[02:08]2018年度CS GO枪械皮肤设计大赛优秀作者-完美盛典
2018/12/16 DOTA
Python配置mysql的教程(推荐)
2017/10/13 Python
Python反转序列的方法实例分析
2018/03/21 Python
python 实现判断ip连通性的方法总结
2018/04/22 Python
Win8下python3.5.1安装教程
2020/07/29 Python
详解Python Matplot中文显示完美解决方案
2019/03/07 Python
Python简易计算器制作方法代码详解
2019/10/31 Python
Python调用接口合并Excel表代码实例
2020/03/31 Python
租租车:国际租车、美国租车、欧洲租车、特价预订国外租车(中文服务)
2018/03/28 全球购物
Carmen Sol官网:购买果冻鞋、手袋和配件
2021/01/01 全球购物
招聘单位介绍信
2014/01/14 职场文书
公司合并协议书范本
2014/09/30 职场文书
廉洁自律承诺书2015
2015/01/22 职场文书
幽灵公主观后感
2015/06/09 职场文书
2015年秋季校长开学典礼致辞
2015/07/29 职场文书
同事欢送会致辞
2015/07/31 职场文书
2019入党申请书格式
2019/06/25 职场文书
vue中data改变后让视图同步更新的方法
2021/03/29 Vue.js
关于python pygame游戏进行声音添加的技巧
2021/10/24 Python