本文实例讲述了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">










