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 相关文章推荐
类似GMAIL的Ajax信息反馈显示
Feb 16 Javascript
Document对象内容集合(比较全)
Sep 06 Javascript
jquery $.ajax各个事件执行顺序
Oct 15 Javascript
一次失败的jQuery优化尝试小结
Feb 06 Javascript
js实现div弹出层的方法
Nov 20 Javascript
浅谈js中的闭包
Mar 16 Javascript
JavaScript监听文本框回车事件并过滤文本框空格的方法
Apr 16 Javascript
javascript实现列表滚动的方法
Jul 30 Javascript
JavaScript子窗口调用父窗口变量和函数的方法
Oct 09 Javascript
Bootstrap实现带动画过渡的弹出框
Aug 09 Javascript
微信小程序表单验证错误提示效果
May 19 Javascript
JavaScript小技巧带你提升你的代码技能
Sep 15 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
新手菜鸟必读:session与cookie的区别
2013/08/22 PHP
PHP 正则表达式常用函数
2014/08/17 PHP
PHP中soap的用法实例
2014/10/24 PHP
yii2.0实现pathinfo的形式访问的配置方法
2016/04/06 PHP
PHP中关键字interface和implements详解
2017/06/14 PHP
Yii2.0多文件上传实例说明
2017/07/24 PHP
jquery中:input和input的区别分析
2011/07/13 Javascript
Javascript 修改String 对象 增加去除空格功能(示例代码)
2013/11/30 Javascript
js限制checkbox选中个数以限制六个为例
2014/07/15 Javascript
javascript每日必学之条件分支
2016/02/17 Javascript
jQuery实现微信长按识别二维码功能
2016/08/26 Javascript
使用JavaScriptCore实现OC和JS交互详解
2017/03/28 Javascript
微信小程序点击控件修改样式实例详解
2017/07/07 Javascript
重学JS 系列:聊聊继承(推荐)
2019/04/11 Javascript
vue中解决chrome浏览器自动播放音频和MP3语音打包到线上的实现方法
2020/10/09 Javascript
python根据出生日期返回年龄的方法
2015/03/26 Python
Python实现身份证号码解析
2015/09/01 Python
Python开启线程,在函数中开线程的实例
2019/02/22 Python
在pyqt5中QLineEdit里面的内容回车发送的实例
2019/06/21 Python
django项目环境搭建及在虚拟机本地创建django项目的教程
2019/08/02 Python
python elasticsearch从创建索引到写入数据的全过程
2019/08/04 Python
浅谈django框架集成swagger以及自定义参数问题
2020/07/07 Python
matplotlib绘制多子图共享鼠标光标的方法示例
2021/01/08 Python
Python爬虫+tkinter界面实现历史天气查询的思路详解
2021/02/22 Python
伦敦新晋轻奢耳饰潮牌:Tada & Toy
2020/05/25 全球购物
乌克兰设计师和品牌的服装:Love&Live
2020/04/14 全球购物
服务员岗位职责
2014/01/29 职场文书
快餐店的创业计划书范文
2014/01/29 职场文书
学校消防安全责任书
2014/07/23 职场文书
校园广播稿精选
2014/10/01 职场文书
坎儿井导游词
2015/02/09 职场文书
2015年教师节主持词
2015/07/03 职场文书
高一化学教学反思
2016/02/22 职场文书
pytorch 实现在测试的时候启用dropout
2021/05/27 Python
Golang并发操作中常见的读写锁详析
2021/08/30 Golang
Spring Data JPA框架Repository自定义实现
2022/04/28 Java/Android