拖动的效果实现 拖拉效果实现: 假如有两个div,拖动一个div到另一个div上面,松开鼠标时将两个div调换位置,这里假设两个div的width,height是一样的想问一下如何实现 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1、自己写ondrag等2、用web parts3、找其它UI,像ext等 晕一下下, 这我都明白,拖拉实现比较容易,但是我想实现拖拉后的效果:假如有两个div,拖动一个div到另一个div上面,松开鼠标时将两个div调换位置,这里假设两个div的width,height是一样的 想问一下思路 ==========onmouseover onmouseup<div onmousedown="init()" onmousemove="moveit()" onmouseup="stopdrag()" style="position:absolute;left:120;top:50;width:100;height:150;border:1px solid #000000;z-index:2;background:#eeeeee">Layer 2</div><div onmousedown="init()" onmousemove="moveit()" onmouseup="stopdrag()" style="position:absolute;left:230;top:50;width:100;height:150;border:1px solid #000000;z-index:3;background:#eeeeee">Layer 3</div> <div onmousedown="init()" onmousemove="moveit()" onmouseup="stopdrag()" style="position:absolute;left:120;top:50;width:100;height:150;border:1px solid #000000;z-index:2;background:#eeeeee">Layer 2 </div> <div onmousedown="init()" onmousemove="moveit()" onmouseup="stopdrag()" style="position:absolute;left:230;top:50;width:100;height:150;border:1px solid #000000;z-index:3;background:#eeeeee">Layer 3 </div> 这问题的重点不是在拖拉方面,而是在拖拉后,div相互置换位置这个效果.不过你们的回答都是在针对拖拉方面的 给div添加position:absolute属性后,然后动态互换left和top属性即可docuemnt.getElementById("div1").style.left=docuemnt.getElementById("div2").style.leftdocuemnt.getElementById("div1").style.top=docuemnt.getElementById("div2").style.top 呵呵,谢谢changke18,你的回答答到那个点了,我开始明白了.我想问一下,是否还有其他更好的方法,我想实现类似google自定义主页的风格,不过有所改变,就是拖动后,不像它是将列上的div下移,我是想如我的问题一样,将两个div置换.有没有比较好的解决方法? 你所指的上面是指完全整个覆盖还是只有触边了就算上面??如果是完全覆盖则判断两个div的top和left是否相等如果是触边的话就通过被移动的div的top或者left是否在未被移动的div的left+width或者top+heigth范围内如果满足上面的条件就互换位置【记得定义变量保存被移动的div的原来的left和top】 看看这个例子,在 1 楼http://bbs.51js.com/viewthread.php?tid=65662支持 IE6 和 FF 通过"动态互换left和top属性",表现最明显的一个特征就是布局变乱了,<div> <div id="div0"></div></div><div> <div id="div1"></div></div>假如是这种情况的话,这种置换就不能用了 docuemnt.getElementById("div1").innerHTML=docuemnt.getElementById("div2").innerHTML 你完成了div的互换了吗?我想学习一下,请教你,如果看到请加我qq,546071614,急需请教你 关于js中调用bat文件的问题,求指教 求实现div浮动层居中显示,无抖动跨浏览器兼容js代码 高手请进!十万火急! iframe跨域提交表单 后获取iframe的内容(访问拒绝) 已经几天了 求助:JS获取变量值 js读去cookie的中的值后出现乱码,这个小问题该怎么解决?(5分题) 有关onsubmit的问题 关于判断radiobutton选择的js 怎么样才能关闭浏览器窗口而不提示 有谁知道csdn在线短消息发送的原理吗?? 在iframe里如何获得页面里的所有对象? javascript中字符串如何转换为datetime类型 如何在网页中嵌入电子地图
2、用web parts
3、找其它UI,像ext等
<div onmousedown="init()" onmousemove="moveit()" onmouseup="stopdrag()" style="position:absolute;left:230;top:50;width:100;height:150;border:1px solid #000000;z-index:3;background:#eeeeee">Layer 3</div>
<div onmousedown="init()" onmousemove="moveit()" onmouseup="stopdrag()" style="position:absolute;left:230;top:50;width:100;height:150;border:1px solid #000000;z-index:3;background:#eeeeee">Layer 3 </div>
然后动态互换left和top属性即可
docuemnt.getElementById("div1").style.left=docuemnt.getElementById("div2").style.left
docuemnt.getElementById("div1").style.top=docuemnt.getElementById("div2").style.top
我想实现类似google自定义主页的风格,不过有所改变,就是拖动后,不像它是将列上的div下移,我是想如我的问题一样,将两个div置换.有没有比较好的解决方法?
如果是完全覆盖则判断两个div的top和left是否相等如果是触边的话就通过被移动的div的top或者left是否在未被移动的div的left+width或者top+heigth范围内
如果满足上面的条件就互换位置【记得定义变量保存被移动的div的原来的left和top】
http://bbs.51js.com/viewthread.php?tid=65662支持 IE6 和 FF
<div>
<div id="div0"></div>
</div>
<div>
<div id="div1"></div>
</div>假如是这种情况的话,这种置换就不能用了
docuemnt.getElementById("div1").innerHTML=docuemnt.getElementById("div2").innerHTML