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 相关文章推荐
file模式访问网页时iframe高度自适应解决方案
Jan 16 Javascript
中文路径导致unitpngfix.js不正常的解决方法
Jun 26 Javascript
jquery mobile事件多次绑定示例代码
Sep 13 Javascript
JavaScript中的document.referrer在各种浏览器测试结果
Jul 18 Javascript
js格式化输入框内金额、银行卡号
Feb 01 Javascript
浅谈jQuery 中的事件冒泡和阻止默认行为
May 28 Javascript
全面接触神奇的Bootstrap导航条实战篇
Aug 01 Javascript
详解vue跨组件通信的几种方法
Jun 15 Javascript
基于js粘贴事件paste简单解析以及遇到的坑
Sep 07 Javascript
js实现会跳动的日历效果(完整实例)
Oct 18 Javascript
详解js访问对象的属性和方法
Oct 25 Javascript
Vue ElementUI实现:限制输入框只能输入正整数的问题
Jul 31 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通过COM使用ADODB的简单例子
2006/12/31 PHP
PHP获取客户端真实IP地址的5种情况分析和实现代码
2014/07/08 PHP
php从完整文件路径中分离文件目录和文件名的方法
2015/03/13 PHP
php实现的错误处理封装类实例
2017/06/20 PHP
PHP实现腾讯与百度坐标转换
2017/08/05 PHP
Prototype 1.5.0_rc1 及 Prototype 1.5.0 Pre0小抄本
2006/09/22 Javascript
在html页面中包含共享页面的方法
2008/10/24 Javascript
javascript复制对象使用说明
2011/06/28 Javascript
js弹出层(jQuery插件形式附带reLoad功能)
2013/04/12 Javascript
Jquery如何实现点击时高亮显示代码
2014/01/22 Javascript
JS弹出可拖拽可关闭的div层完整实例
2015/02/13 Javascript
JavaScript获取指定元素位置的方法
2015/04/08 Javascript
AngularJS基础学习笔记之控制器
2015/05/10 Javascript
jQuery实现textarea自动增长宽高的方法
2015/12/18 Javascript
JavaScript学习笔记整理之引用类型
2016/01/22 Javascript
jquery动态遍历Json对象的属性和值的方法
2016/07/27 Javascript
Vue方法与事件处理器详解
2016/12/01 Javascript
Javascript中return的使用与闭包详解
2017/01/11 Javascript
JavaScript原生节点操作小结
2017/01/17 Javascript
jquery+css实现侧边导航栏效果
2017/06/12 jQuery
vue cli webpack中使用sass的方法
2018/02/24 Javascript
一个Vue页面的内存泄露分析详解
2018/06/25 Javascript
浅谈TypeScript 用 Webpack/ts-node 运行的配置记录
2019/10/11 Javascript
Python高级特性切片(Slice)操作详解
2018/09/27 Python
Python3 max()函数基础用法
2019/02/19 Python
django admin后管定制-显示字段的实例
2020/03/11 Python
解决keras,val_categorical_accuracy:,0.0000e+00问题
2020/07/02 Python
英国安全产品购物网站:The Safe Shop
2017/03/20 全球购物
美国球迷装备的第一来源:FOCO
2020/07/03 全球购物
九州传奇上机题
2014/07/10 面试题
社会实践自我鉴定
2013/11/07 职场文书
运动会通讯稿100字
2014/01/31 职场文书
检讨书格式范文
2015/05/07 职场文书
岗位聘任协议书
2015/09/21 职场文书
使用python+pygame开发消消乐游戏附完整源码
2021/06/10 Python
Mysql中常用的join连接方式
2022/05/11 MySQL