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 相关文章推荐
在修改准备发的批量美化select+可修改select时,在非IE下发现了几个问题
Jan 09 Javascript
Mac OS X 系统下安装和部署Egret引擎开发环境
Sep 03 Javascript
下拉框select的绑定示例
Sep 04 Javascript
node.js中的fs.chmodSync方法使用说明
Dec 18 Javascript
jQuery+PHP+MySQL二级联动下拉菜单实例讲解
Oct 27 Javascript
Bootstrap源码解读下拉菜单(4)
Dec 23 Javascript
js使用highlight.js高亮你的代码
Aug 18 Javascript
JS实现DOM删除节点操作示例
Apr 04 Javascript
js+html5实现手机九宫格密码解锁功能
Jul 30 Javascript
详解如何webpack使用DllPlugin
Sep 30 Javascript
JavaScript之实现一个简单的Vue示例
Jan 17 Javascript
微信小程序结合mock.js实现后台模拟及调试
Mar 28 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通用检测函数集合
2011/02/08 PHP
ThinkPHP使用心得分享-ThinkPHP + Ajax 实现2级联动下拉菜单
2014/05/15 PHP
ThinkPHP2.0读取MSSQL提示Incorrect syntax near the keyword 'AS'的解决方法
2014/06/25 PHP
PHP date函数常用时间处理方法
2015/05/11 PHP
PHP Reflection API详解
2015/05/12 PHP
PHP购物车类Cart.class.php定义与用法示例
2016/07/20 PHP
PHP中让json_encode不自动转义斜杠“/”的方法
2017/02/28 PHP
PHP7扩展开发之基于函数方式使用lib库的方法详解
2018/01/15 PHP
Yii2.0框架模型多表关联查询示例
2019/07/18 PHP
JavaScript 对象链式操作测试代码
2010/04/25 Javascript
JS 退出系统并跳转到登录界面的实现代码
2013/06/29 Javascript
浅谈EasyUI中编辑treegrid的方法
2015/03/01 Javascript
JavaScript获取表单enctype属性的方法
2015/04/02 Javascript
jquery实现先淡出再折叠收起的动画效果
2015/08/07 Javascript
jQuery progressbar通过Ajax请求实现后台进度实时功能
2016/10/11 Javascript
关于javascript事件响应的基础语法总结(必看篇)
2016/12/26 Javascript
前端编码规范(3)JavaScript 开发规范
2017/01/21 Javascript
JavaScript编程设计模式之构造器模式实例分析
2017/10/25 Javascript
webpack的tree shaking的实现方法
2019/09/18 Javascript
微信小程序实现选项卡滑动切换
2020/10/22 Javascript
[01:20]2018DOTA2亚洲邀请赛总决赛战队Mineski晋级之路
2018/04/07 DOTA
Python3 入门教程 简单但比较不错
2009/11/29 Python
python从zip中删除指定后缀文件(推荐)
2019/12/05 Python
python基于win32api实现键盘输入
2020/12/09 Python
MyHeritage美国:家族史研究和DNA测试的领先服务
2019/05/27 全球购物
DOUGLAS波兰:在线销售香水和化妆品
2020/07/05 全球购物
新书吧创业计划书
2014/01/31 职场文书
求职信的七个关键技巧
2014/02/05 职场文书
暑假社会实践心得体会
2014/09/02 职场文书
网站出售协议书范文
2014/10/10 职场文书
店长岗位职责
2015/02/11 职场文书
工程服务质量承诺书
2015/04/29 职场文书
教育教学读书笔记
2015/07/02 职场文书
vue中this.$http.post()跨域和请求参数丢失的解决
2022/04/08 Vue.js
SpringBoot集成MongoDB实现文件上传的步骤
2022/04/18 MongoDB
分析SQL窗口函数之排名窗口函数
2022/04/21 Oracle