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 相关文章推荐
激活 ActiveX 控件
Oct 09 Javascript
看了就知道什么是JSON
Dec 09 Javascript
jQuery 获取对象 基本选择与层级
May 31 Javascript
javascript cookie操作类的实现代码小结附使用方法
Jun 02 Javascript
JQuery表格拖动调整列宽效果(自己动手写的)
Sep 01 Javascript
Javascript Memoizer浅析
Oct 16 Javascript
JavaScript中的值类型详细介绍
Dec 29 Javascript
Jquery实现的简单轮播效果【附实例】
Apr 19 Javascript
扩展jquery easyui tree的搜索树节点方法(推荐)
Oct 28 Javascript
谈谈对vue响应式数据更新的误解
Aug 01 Javascript
JS弹窗 JS弹出DIV并使整个页面背景变暗功能的实现代码
Apr 21 Javascript
JavaScript 面向对象程序设计详解【类的创建、实例对象、构造函数、原型等】
May 12 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的FTP学习(一)
2006/10/09 PHP
php实现事件监听与触发的方法
2014/11/21 PHP
php redis实现对200w用户的即时推送
2017/03/04 PHP
Laravel 5.5基于内置的Auth模块实现前后台登陆详解
2017/12/21 PHP
Laravel Eloquent ORM 多条件查询的例子
2019/10/10 PHP
JavaScript在IE和Firefox浏览器下的7个差异兼容写法小结
2010/06/18 Javascript
jquery多行滚动/向左或向上滚动/响应鼠标实现思路及代码
2013/01/23 Javascript
Javascript和Java获取各种form表单信息的简单实例
2014/02/14 Javascript
js实现的牛顿摆效果
2015/03/31 Javascript
超漂亮的jQuery图片轮播特效
2015/11/24 Javascript
jquery封装插件时匿名函数形参和实参的写法解释
2017/02/14 Javascript
ES5 ES6中Array对象去除重复项的方法总结
2017/04/27 Javascript
纯JS实现只能输入数字的简单代码
2017/06/21 Javascript
Vue底层实现原理总结
2018/02/17 Javascript
小程序视频列表中视频的播放与停止的示例代码
2018/07/20 Javascript
详解package.json版本号规则
2019/08/01 Javascript
layui操作列按钮个数和文字颜色的判断实例
2019/09/11 Javascript
微信小程序错误this.setData报错及解决过程
2019/09/18 Javascript
js构造函数constructor和原型prototype原理与用法实例分析
2020/03/02 Javascript
如何使用原生Js实现随机点名详解
2021/01/06 Javascript
wxpython 学习笔记 第一天
2009/02/09 Python
Python爬虫包BeautifulSoup异常处理(二)
2018/06/17 Python
浅谈pandas用groupby后对层级索引levels的处理方法
2018/11/06 Python
python运行时强制刷新缓冲区的方法
2019/01/14 Python
scrapy-redis源码分析之发送POST请求详解
2019/05/15 Python
mac在matplotlib中显示中文的操作方法
2020/03/06 Python
python线性插值解析
2020/07/05 Python
基于Python正确读取资源文件
2020/09/14 Python
纯CSS3实现表单验证效果(非常不错)
2017/01/18 HTML / CSS
Luxplus荷兰:以会员价购买美容产品等,独家优惠
2019/08/30 全球购物
函数只定义了一次, 调用了一次, 但编译器提示非法重定义了-什么问题?
2014/10/03 面试题
办公室助理岗位职责
2013/12/25 职场文书
小区门卫值班制度
2014/01/24 职场文书
工作分析计划书
2014/04/30 职场文书
中华魂演讲稿
2014/05/13 职场文书
创业计划书之暑假培训班
2019/11/09 职场文书