[javascript] js实现html页面元素的随意拖动,就像igoogle的形式

跟各位讨教一下,我现在要实现一个功能,就是可以随意拖动html页面的元素位置,用table的布局可以解决吗?
[b]问题补充:[/b]
现在已经决定使用flex了,可以实现拖拽。很感谢你的帮忙

可以用jquery的插件

演示
http://nettuts.s3.amazonaws.com/127_iNETTUTS/demo/index.html
下载
http://nettuts.s3.amazonaws.com/127_iNETTUTS/source.zip

一般元素用div,不用table。

想元素可拖动,简单的办法就是
使用scriptaculous

你从官网下载http://script.aculo.us/
然后你会得到一个压缩文件,解开来之后是几个js文件

然后在你的页面中

然后看一下自带的例子,你就会了。

简单拖动的示例
[code="javascript"]


Drag Demo 1 <!-- #drag{ width:100px; height:20px; background-color:#eee; border:1px solid #333; position:absolute; top:30px; left:200px; text-align:center; cursor:default; } //--> <!-- window.onload=function(){ drag(document.getElementById('drag')); }; function drag(o){ o.onmousedown=function(a){ var d=document;if(!a)a=window.event; var x=a.layerX?a.layerX:a.offsetX,y=a.layerY?a.layerY:a.offsetY; if(o.setCapture) o.setCapture(); else if(window.captureEvents) window.captureEvents(Event.MOUSEMOVE|Event.MOUSEUP); d.onmousemove=function(a){ if(!a)a=window.event; if(!a.pageX)a.pageX=a.clientX; if(!a.pageY)a.pageY=a.clientY; var tx=a.pageX-x,ty=a.pageY-y; o.style.left=tx; o.style.top=ty; }; d.onmouseup=function(){ if(o.releaseCapture) o.releaseCapture(); else if(window.captureEvents) window.captureEvents(Event.MOUSEMOVE|Event.MOUSEUP); d.onmousemove=null; d.onmouseup=null; }; }; } //-->


drag me


[/code]