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 相关文章推荐
js控制滚动条缓慢滚动到顶部实现代码
Mar 20 Javascript
Jquery判断$(&quot;#id&quot;)获取的对象是否存在的方法
Sep 25 Javascript
node.js中的fs.link方法使用说明
Dec 15 Javascript
js淡入淡出的图片轮播效果代码分享
Aug 24 Javascript
JS正则表达式比较常见用法
Jan 26 Javascript
通过JS获取Request.QueryString()参数的值实现方法
Sep 27 Javascript
jQuery post数据至ashx实例详解
Nov 18 Javascript
浅谈js之字面量、对象字面量的访问、关键字in的用法
Nov 20 Javascript
angular1.x ui-route传参的三种写法小结
Aug 31 Javascript
微信小程序实现拍照画布指定区域生成图片
Jul 18 Javascript
JavaScript 实现同时选取多个时间段的方法
Oct 17 Javascript
vue中的可拖拽宽度div的实现示例
Apr 08 Vue.js
解决微信浏览器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的开合式多级菜单程序
2006/10/09 PHP
PHP Zip压缩 在线对文件进行压缩的函数
2010/05/26 PHP
PHP中数据库单例模式的实现代码分享
2014/08/21 PHP
php微信公众平台开发类实例
2015/04/01 PHP
php自定义函数实现二维数组排序功能
2016/07/20 PHP
PHP合并两个或多个数组的方法
2019/01/20 PHP
yii2的restful api路由实例详解
2019/05/14 PHP
javascript之锁定表格栏位
2007/06/29 Javascript
Js数组的操作push,pop,shift,unshift等方法详细介绍
2012/12/28 Javascript
NodeJS Express框架中处理404页面一个方式
2014/05/28 NodeJs
Bootstrap与KnockoutJs相结合实现分页效果实例详解
2016/05/03 Javascript
AngularJS之ionic 框架下实现 Localstorage本地存储
2017/04/22 Javascript
微信小程序实现文字跑马灯效果
2020/05/26 Javascript
JavaScript使用类似break机制中断forEach循环的方法
2018/11/13 Javascript
浅谈Vue使用Cascader级联选择器数据回显中的坑
2020/10/31 Javascript
从源码角度来回答keep-alive组件的缓存原理
2021/01/18 Javascript
[02:27]2018DOTA2亚洲邀请赛赛前采访-OpTic
2018/04/03 DOTA
python中的reduce内建函数使用方法指南
2014/08/31 Python
简单分析Python中用fork()函数生成的子进程
2015/05/04 Python
python执行系统命令后获取返回值的几种方式集合
2018/05/12 Python
对pandas replace函数的使用方法小结
2018/05/18 Python
Python unittest 简单实现参数化的方法
2018/11/30 Python
django数据模型中null和blank的区别说明
2020/09/02 Python
Python 列表反转显示的四种方法
2020/11/16 Python
喜诗官方在线巧克力店:See’s Candies
2017/01/01 全球购物
英国团购网站:Groupon英国
2017/11/28 全球购物
Bose法国官网:购买耳机、扬声器、家庭影院、专业音响
2017/12/21 全球购物
JAVA中的关键字有什么特点
2014/03/07 面试题
个人自我评价分享
2013/12/20 职场文书
美发活动策划书
2014/01/14 职场文书
《争吵》教学反思
2014/02/15 职场文书
八一建军节营销活动方案
2014/08/31 职场文书
小学英语复习计划
2015/01/19 职场文书
2015廉洁自律个人总结
2015/02/14 职场文书
员工考勤管理制度
2015/08/06 职场文书
Anaconda安装pytorch及配置PyCharm 2021环境
2021/06/04 Python