<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>JS拖拽一个容器中的内容到另一个容器中,并且删除原容器中的内容</title>
<style type="text/css">
*{margin:0;padding:0;}
body{font:12px Verdana, Arial, "宋体", sans-serif;}
h2{clear:both;font-size: 16px;margin: 0;padding: 5px;border-bottom: 1px solid #69c;color: #1a1;font-family: 微软雅黑;font-weight:normal;}
p{clear:both;}
.author{position:fixed;_position: absolute;right:20px;top:20px;}
ul{clear:both;float: left;}
/*格子拖放*/
.grid li{float: left;list-style: none;width: 98px;height: 86px;border: 1px solid #ccc;background: #eee;margin: 5px;padding: 1px;-moz-user-select:none;text-align:center;}
.grid img{width:98px;height: 86px;padding-bottom:4px;}
.grid div{position: relative;}
.grid span{position: absolute;right:1px;top:75%;color: #fff;}
/*交换数据用的DIV*/
#tempBox{position: absolute;z-index:9999;}
</style>
<script type="text/javascript" src="jquery.min.js"></script>
</head>
<body>
<div style="width:50%;float:right;">
<h2>存放拖动区域的内容</h2>
<div id="item">
<ul class="drop grid" id="g1">
<li></li>
<li></li>
</ul>
</div>
</div>
<div style="width:500px;float:left;">
<h2>需要拖动的区域</h2>
<ul class="drag grid">
<li id="1"><div><img src="-04-12349.jpg" alt="" title="" /></div>
</li>
<li id="2"><div><img src="-04-12552.jpg" alt="" title="" /></div>
</li>
<li id="3"><div><img src="-03-12492.jpg" alt="" title="" /></div>
</li>
<li id="4"><div><img src="-03-12153.jpg" alt="" title="" /></div>
</li>
<li id="5"><div><img src="-02-12301.jpg" alt="" title="" /></div>
</li>
<li id="6"><div><img src="-01-12610.jpg" alt="" title="" /></div>
</li>
<li id="7"><div><img src="-01-12503.jpg" alt="" title="" /></div>
</li>
<li id="8"><div><img src="-01-12404.jpg" alt="" title="" /></div>
</li>
</ul>
</div>
</div>
<script type="text/javascript">
var r=null;
window.onload=function()
{
$('.drag li').Drag({drop:'.drop li,.drag li',finish:change});
r=document.getElementById('item').innerHTML;
}
<!--
//拖放插件DragDrop
$.fn.Drag=function (options) {
var defaults={
limit : window,//是否限制拖放范围,默认限制当前窗口内
drop:false,//是否drop
handle:false,//拖动手柄
finish:function () {}//回调函数
};
var options=$.extend(defaults,options);
this.X=0;//初始位置
this.Y=0;
this.dx=0;//位置差值
this.dy=0;
var This=this;
var ThisO=$(this);//被拖目标
var thatO;
if (options.drop) {
var ThatO=$(options.drop);//可放下位置
ThisO.find('div').css({cursor:'move'});
var tempBox=$('<div id="tempBox" class="grid"></div>');
}else {
options.handle ? ThisO.find(options.handle).css({cursor:'move','-moz-user-select':'none'}) : ThisO.css({cursor:'move','-moz-user-select':'none'});
}
//拖动开始
this.dragStart=function (e) {
var cX=e.pageX;
var cY=e.pageY;
if (options.drop) {
ThisO=$(this);
if (ThisO.find('div').length!=1) {return}//如果没有拖动对象就返回
This.X=ThisO.find('div').offset().left;
This.Y=ThisO.find('div').offset().top;
tempBox.html(ThisO.html());
ThisO.html('');
$('body').append(tempBox);
tempBox.css({left:This.X,top:This.Y});
}else {
This.X=ThisO.offset().left;
This.Y=ThisO.offset().top;
ThisO.css({margin:0})
}
This.dx=cX-This.X;
This.dy=cY-This.Y;
if (!options.drop) {ThisO.css({position:'absolute',left:This.X,top:This.Y})}
$(document).mousemove(This.dragMove);
$(document).mouseup(This.dragStop);
if ($.browser.msie) {ThisO[0].setCapture();}//IE,鼠标移到窗口外面也能释放
}
//拖动中
this.dragMove=function (e) {
var cX=e.pageX;
var cY=e.pageY;
if (options.limit) {//限制拖动范围
var L=$(options.limit)[0].offsetLeft ? $(options.limit).offset().left : 0;
var T=$(options.limit)[0].offsetTop ? $(options.limit).offset().top : 0;
var R=L+$(options.limit).width();
var B=T+$(options.limit).height();
//获取拖动范围
var iLeft=cX-This.dx, iTop=cY-This.dy;
//获取超出长度
var iRight=iLeft+parseInt(ThisO.innerWidth())-R, iBottom=iTop+parseInt(ThisO.innerHeight())-B;
//alert($(window).height())
//先设置右下, 再设置左上
if(iRight > 0) iLeft -= iRight;
if(iBottom > 0) iTop -= iBottom;
if(L > iLeft) iLeft = L;
if(T > iTop) iTop = T;
if (options.drop) {
tempBox.css({left:iLeft,top:iTop})
}else {
ThisO.css({left : iLeft,top : iTop})
}
}else {
//不限制范围
if (options.drop) {
tempBox.css({left:cX-This.dx,top:cY-This.dy})
}else {
ThisO.css({left:cX-This.dx,top:cY-This.dy});
}
}
}
//拖动结束
this.dragStop=function (e) {
if (options.drop) {
var flag=false;
var cX=e.pageX;
var cY=e.pageY;
var oLf=ThisO.offset().left;
var oRt=oLf+ThisO.width();
var oTp=ThisO.offset().top;
var oBt=oTp+ThisO.height();
if (!(cX>oLf && cX<oRt && cY>oTp && cY<oBt)) {//如果不是在原位
for (var i=0; i<ThatO.length; i++) {
var XL=$(ThatO[i]).offset().left;
var XR=XL+$(ThatO[i]).width();
var YL=$(ThatO[i]).offset().top;
var YR=YL+$(ThatO[i]).height();
if (XL<cX && cX<XR && YL<cY && cY<YR) {//找到拖放目标 交换位置
var newElm=$(ThatO[i]).html();
$(ThatO[i]).html(tempBox.html());
ThisO.html(newElm);
thatO=$(ThatO[i]);
tempBox.remove();
flag=true;
break;//一旦找到 就终止循环
}
}
}
if (!flag) {//如果找不到拖放位置,归回原位
tempBox.css({left:This.X,top:This.Y});
ThisO.html(tempBox.html());
tempBox.remove();
}
}
$(document).unbind('mousemove');
$(document).unbind('mouseup');
options.finish(e,ThisO,thatO);
if ($.browser.msie) {ThisO[0].releaseCapture();}
}
//绑定拖动
options.handle ? ThisO.find(options.handle).mousedown(This.dragStart) : ThisO.mousedown(This.dragStart);
}
var change=function (e,oldElm,newElm) {
}
</script>
</body>
</html>
没有合适的资源?快使用搜索试试~ 我知道了~
js拖动拖动一个容器中的内容到另一个容器中
共11个文件
jpg:8个
db:1个
js:1个
4星 · 超过85%的资源 需积分: 50 123 下载量 154 浏览量
2011-08-17
13:02:23
上传
评论 4
收藏 221KB RAR 举报
温馨提示
js拖动一个容器中的内容到另一个容器中,并且删除原容器中的该内容。
资源推荐
资源详情
资源评论
收起资源包目录
drag.rar (11个子文件)
drag
-02-12301.jpg 32KB
-04-12552.jpg 24KB
-01-12610.jpg 64KB
-03-12492.jpg 21KB
Thumbs.db 14KB
-01-12503.jpg 55KB
-01-12404.jpg 27KB
index.html 7KB
-04-12349.jpg 18KB
-03-12153.jpg 21KB
jquery.min.js 56KB
共 11 条
- 1
梦纷飞舞
- 粉丝: 10
- 资源: 6
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页