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 相关文章推荐
Ext面向对象开发实践(续)
Nov 18 Javascript
jquery的extend和fn.extend的使用说明
Jan 09 Javascript
判断用户的在线状态 onbeforeunload事件
Mar 05 Javascript
javascript 利用Image对象实现的埋点(某处的点击数)统计
Dec 28 Javascript
jQuery的事件委托实例分析
Jul 15 Javascript
jquery实现左右无缝轮播图
Jul 31 Javascript
JS中sort函数排序用法实例分析
Jun 16 Javascript
JavaScript 函数节流详解及方法总结
Feb 09 Javascript
AngualrJs清除定时器遇到的坑
Oct 13 Javascript
vux-scroller实现移动端上拉加载功能过程解析
Oct 08 Javascript
webpack4 optimization使用总结
Nov 10 Javascript
JS如何操作DOM基于表格动态展示数据
Oct 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中extract()函数的妙用分析
2012/07/11 PHP
PHP+Mysql+jQuery文件下载次数统计实例讲解
2015/10/10 PHP
WordPress中制作导航菜单的PHP核心方法讲解
2015/12/11 PHP
在IE下:float属性会影响offsetTop的取值
2006/12/22 Javascript
js实现点击图片改变页面背景图的方法
2015/02/28 Javascript
JS冒泡事件与事件捕获实例详解
2016/11/25 Javascript
Vue.js组件tree实现无限级树形菜单
2016/12/02 Javascript
基于JavaScript实现自定义滚动条
2017/01/25 Javascript
angularJS模态框$modal实例代码
2017/05/27 Javascript
基于JavaScript实现弹幕特效
2020/08/27 Javascript
react中的ajax封装实例详解
2017/10/17 Javascript
electron demo项目npm install安装失败的解决方法
2018/02/06 Javascript
webpack4 CSS Tree Shaking的使用
2018/09/03 Javascript
Vuejs 实现简易 todoList 功能 与 组件实例代码
2018/09/10 Javascript
JS前端知识点offset,scroll,client,冒泡,事件对象的应用整理总结
2019/06/27 Javascript
vuecli项目构建SSR服务端渲染的实现
2020/10/30 Javascript
[37:29]完美世界DOTA2联赛PWL S2 LBZS vs Forest 第二场 11.19
2020/11/19 DOTA
简单谈谈Python流程控制语句
2016/12/04 Python
python针对不定分隔符切割提取字符串的方法
2018/10/26 Python
python生成带有表格的图片实例
2019/02/03 Python
python模块常用用法实例详解
2019/10/17 Python
python实现门限回归方式
2020/02/29 Python
python由已知数组快速生成新数组的方法
2020/04/08 Python
Python virtualenv虚拟环境实现过程解析
2020/04/18 Python
详解pyqt5的UI中嵌入matplotlib图形并实时刷新(挖坑和填坑)
2020/08/07 Python
Love, Bonito国际官网:新加坡女装品牌
2021/03/13 全球购物
什么情况下你必须要把一个类定义为abstract的
2013/01/06 面试题
UNIX操作系统结构由哪几部分组成
2016/02/17 面试题
教育技术职业规划范文
2014/03/04 职场文书
中学生国旗下讲话稿
2014/04/26 职场文书
综治工作汇报材料
2014/10/27 职场文书
应聘教师求职信范文
2015/03/20 职场文书
资产移交协议书
2016/03/24 职场文书
2019销售早会主持词
2019/06/27 职场文书
Python实现滑雪小游戏
2021/09/25 Python
JS实现九宫格拼图游戏
2022/06/28 Javascript