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 相关文章推荐
正则表达式语法
Oct 09 Javascript
基于jquery &amp; json的省市区联动代码
Jun 26 Javascript
基于jquery的跟随屏幕滚动代码
Jul 24 Javascript
用javascript模仿ie的自动完成类似自动完成功的表单
Dec 12 Javascript
JavaScript实现将数组中所有元素连接成一个字符串的方法
Apr 06 Javascript
ES6新特性之字符串的扩展实例分析
Apr 01 Javascript
JavaScript实现省市县三级级联特效
May 16 Javascript
Express系列之multer上传的使用
Oct 27 Javascript
Vue前端开发规范整理(推荐)
Apr 23 Javascript
微信小程序template模版的使用方法
Apr 13 Javascript
layui按条件隐藏表格列的实例
Sep 19 Javascript
vue Treeselect 树形下拉框:获取选中节点的ids和lables操作
Aug 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
PHP Session机制简介及用法
2014/08/19 PHP
PHP设计模式(八)装饰器模式Decorator实例详解【结构型】
2020/05/02 PHP
js CSS操作方法集合
2008/10/31 Javascript
js中的window.open返回object的错误的解决方法
2009/08/15 Javascript
jquery autocomplete自动完成插件的的使用方法
2010/08/07 Javascript
js限制文本框为整数和货币的函数代码
2010/10/13 Javascript
js有关元素内容操作小结
2011/12/20 Javascript
Jquery Ajax解析XML数据(同步及异步调用)简单实例
2014/02/12 Javascript
根据配置文件加载js依赖模块
2014/12/29 Javascript
使用javascript实现简单的选项卡切换
2015/01/09 Javascript
JS实现的生成随机数的4个函数分享
2015/02/11 Javascript
详解JavaScript基于面向对象之继承
2015/12/13 Javascript
javascript的 {} 语句块详解
2016/02/27 Javascript
jQuery判断是否存在滚动条的简单方法
2016/09/17 Javascript
微信小程序实现收藏与取消收藏切换图片功能
2018/08/03 Javascript
浅谈一个webpack构建速度优化误区
2019/06/24 Javascript
浅谈JavaScript中this的指向更改
2020/07/28 Javascript
[04:12]第二届DOTA2亚洲邀请赛选手传记-Newbee.Sccc
2017/04/03 DOTA
教你如何将 Sublime 3 打造成 Python/Django IDE开发利器
2014/07/04 Python
python查看zip包中文件及大小的方法
2015/07/09 Python
python与C互相调用的方法详解
2017/07/14 Python
Python实现的读写json文件功能示例
2018/06/05 Python
python中yield的用法详解——最简单,最清晰的解释
2019/04/04 Python
使用OpenCV circle函数图像上画圆的示例代码
2019/12/27 Python
python基于event实现线程间通信控制
2020/01/13 Python
Python sorted排序方法如何实现
2020/03/31 Python
ffmpeg+Python实现B站MP4格式音频与视频的合并示例代码
2020/10/21 Python
50个强大璀璨的CSS3/JS技术运用实例
2010/02/27 HTML / CSS
HTML5 表单验证失败的提示语问题
2017/07/13 HTML / CSS
详解HTML5 录音的踩坑之旅
2017/12/26 HTML / CSS
澳洲健康食品网上商店:Aussie Health Products
2018/06/15 全球购物
Servlet如何得到客户端机器的信息
2014/10/17 面试题
趣味运动会广播稿
2015/08/19 职场文书
教你修复 Win11应用商店加载空白问题
2021/12/06 数码科技
python中出现invalid syntax报错的几种原因分析
2022/02/12 Python
电脑开机弹出documents文件夹怎么回事?弹出documents文件夹解决方法
2022/04/08 数码科技