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 相关文章推荐
showModelessDialog()使用详解
Sep 07 Javascript
jquery中ajax学习笔记一
Oct 16 Javascript
jquery中checkbox全选失效的解决方法
Dec 26 Javascript
Angularjs中使用layDate日期控件示例
Jan 11 Javascript
微信小程序 JS动态修改样式的实现代码
Feb 10 Javascript
flag和jq on 的绑定多个对象和方法(必看)
Feb 27 Javascript
基于JavaScript实现活动倒计时效果
Apr 20 Javascript
JS实现图片手风琴效果
Apr 17 Javascript
利用pm2部署多个node.js项目的配置教程
Oct 22 Javascript
Vue路由对象属性 .meta $route.matched详解
Nov 04 Javascript
解决echarts图表使用v-show控制图表显示不全的问题
Jul 19 Javascript
js实现3D旋转效果
Aug 18 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
根德YB400的电路分析
2021/03/02 无线电
ftp类(example.php)
2006/10/09 PHP
5.PHP的其他功能
2006/10/09 PHP
php自定义函数call_user_func和call_user_func_array详解
2011/07/14 PHP
PHP调用VC编写的COM组件实例
2014/03/29 PHP
php查看当前Session的ID实例
2015/03/16 PHP
thinkPHP5.0框架简单配置作用域的方法
2017/03/17 PHP
创建无限极分类树型结构的简单方法
2017/06/20 PHP
PHP使用Nginx实现反向代理
2017/09/20 PHP
PHP上传文件及图片到七牛的方法
2018/07/25 PHP
xmlHTTP实例
2006/10/24 Javascript
基于jquery的气泡提示效果
2010/05/31 Javascript
javascript attachEvent绑定多个事件执行顺序问题
2010/10/20 Javascript
浅谈JavaScript中指针和地址
2015/07/26 Javascript
JS+CSS实现自动切换的网页滑动门菜单效果代码
2015/09/14 Javascript
Bootstrap进度条组件知识详解
2016/05/01 Javascript
jquery插入兄弟节点的操作方法
2016/12/07 Javascript
浅谈键盘上回车按钮的js触发事件
2017/02/13 Javascript
ES5 ES6中Array对象去除重复项的方法总结
2017/04/27 Javascript
Vue 父子组件的数据传递、修改和更新方法
2018/03/01 Javascript
jQuery实现基本隐藏与显示效果的方法详解
2018/09/05 jQuery
基于vue中的scoped坑点解说
2020/09/04 Javascript
[47:04]LGD vs infamous Supermajor小组赛D组 BO3 第二场 6.3
2018/06/04 DOTA
[02:01]2018完美盛典-开场舞《双子星》
2018/12/16 DOTA
Python使用Matplotlib模块时坐标轴标题中文及各种特殊符号显示方法
2018/05/04 Python
Python中使用Counter进行字典创建以及key数量统计的方法
2018/07/06 Python
python pexpect ssh 远程登录服务器的方法
2019/02/14 Python
Python单元和文档测试实例详解
2019/04/11 Python
简单了解Python3 bytes和str类型的区别和联系
2019/12/19 Python
django和flask哪个值得研究学习
2020/07/31 Python
有关HTML5 Video对象的ontimeupdate事件(Chrome上无效)的问题
2013/07/19 HTML / CSS
解析浏览器的一些“滚动”行为鉴赏
2019/09/16 HTML / CSS
员工培训心得体会
2013/12/30 职场文书
售后服务承诺书范文
2014/03/26 职场文书
2014年预备党员学习新党章思想汇报
2014/09/15 职场文书
十大最强妖精系宝可梦,哲尔尼亚斯实力最强,第五被称为大力士
2022/03/18 日漫