JS 拖动事件
一个来自网上的东西- -被我捡到了
然后我访问到了 发出来就可以粘贴复制自己做成js文件了吧
// by zhangxinxu welcome to visit my personal website http://www.zhangxinxu.com/ // zxx.drag v1.0 2010-03-23 元素的拖拽实现 var params = { left: 0, top: 0, currentX: 0, currentY: 0, flag: false }; //获取相关CSS属性 var getCss = function(o,key){ return o.currentStyle? o.currentStyle[key] : document.defaultView.getComputedStyle(o,false)[key]; }; //拖拽的实现 var startDrag = function(bar, target, callback){ if(getCss(target, "left") !== "auto"){ params.left = getCss(target, "left"); } if(getCss(target, "top") !== "auto"){ params.top = getCss(target, "top"); } //o是移动对象 bar.onmousedown = function(event){ params.flag = true; if(!event){ event = window.event; //防止IE文字选中 bar.onselectstart = function(){ return false; } } var e = event; params.currentX = e.clientX; params.currentY = e.clientY; }; document.onmouseup = function(){ params.flag = false; if(getCss(target, "left") !== "auto"){ params.left = getCss(target, "left"); } if(getCss(target, "top") !== "auto"){ params.top = getCss(target, "top"); } }; document.onmousemove = function(event){ var e = event ? event: window.event; if(params.flag){ var nowX = e.clientX, nowY = e.clientY; var disX = nowX - params.currentX, disY = nowY - params.currentY; target.style.left = parseInt(params.left) + disX + "px"; target.style.top = parseInt(params.top) + disY + "px"; } if (typeof callback == "function") { callback(parseInt(params.left) + disX, parseInt(params.top) + disY); } } };
上面那个是js的文件!!!!接下来才是界面代码。。。。
<!DOCTYPE HTML> <html> <head> <title>HTML5实现拖拽操作</title> <meta charset="utf-8"/> <style type="text/css"> #box{position:absolute; left:100px; top:100px; padding:5px; background:#f0f3f9; font-size:12px; -moz-box-shadow:2px 2px 4px #666666; -webkit-box-shadow:2px 2px 4px #666666;} #main{border:1px solid #a0b3d6; background:white;} #bar{line-height:24px; background:#beceeb; border-bottom:1px solid #a0b3d6; padding-left:5px; cursor:move;} #content{width:420px; height:250px; padding:10px 5px;} </style> </head> <body> <div id="box"> <div id="main"> <div id="bar">拖拽</div> <div id="content"> 内容…… </div> </div> </div> </body> </html> <script src="http://www.zhangxinxu.com/study/js/zxx.drag.1.0.js" type="text/javascript"></script> <script type="text/javascript"> var oBox = document.getElementById("box"); var oBar = document.getElementById("bar"); startDrag(oBar, oBox); </script>
界面端有个引用的网络js名字。。。。也可以直接用。。。。。