一、关于坐标event.clientX和event.clientY,而为什么不用event.x和event.y,以后我会写清楚,其实已经写好了的。看情况我就会贴出来。转入正题吧,看看参考 clientX 设置或获取鼠标指针位置相对于窗口客户区域的 x 坐标,其中客户区域不包括窗口自身的控件和滚动条。 clientY 设置或获取鼠标指针位置相对于窗口客户区域的 y 坐标,其中客户区域不包括窗口自身的控件和滚动条。
二、得到拖动物件的坐标。即得到绝对坐标,用以下代码。参数e为拖动物件对象,使用函数时传入。返回的是对象的X坐标、Y坐标、宽度、长度的数组关联。而为什么还要用迭代求offsetLeft和offsetTop呢?因为他们是相对于父坐标而言的,所以必须通过循环来得到绝对定位。 function Offset(e) { var t = e.offsetTop; var l = e.offsetLeft; var w = e.offsetWidth; var h = e.offsetHeight; while(e=e.offsetParent) { t+=e.offsetTop; l+=e.offsetLeft; } return { t:t, l:l, w:w, h:h } };
}; oDragOrig.onmouseup = function() { bDraged = false; oDragOrig.releaseCapture(); }; function Offset(e) { var t = e.offsetTop; var l = e.offsetLeft; var w = e.offsetWidth; var h = e.offsetHeight; while(e=e.offsetParent) { t+=e.offsetTop; l+=e.offsetLeft; } return { t:t, l:l, w:w, h:h } }; }};
//--> </SCRIPT> </HEAD> <BODY> <table> <tr> <td> <div class="myDiv"> http://www.never-online.net <p>power by blueDestiny, never-online</p> </div> </td> <td> <div class="myDiv" style="width:450px"> <p>never-online, Everlasting love for angela.</p> </div> </td> </tr> </table> <h4 class="copyright"> Power By blueDestiny, never-online, <a href="http://www.never-online.net" _fcksavedurl="http://www.never-online.net">http://www.never-online.net</a> </h4> <SCRIPT LANGUAGE="JavaScript"> <!-- var aDivs = document.getElementsByTagName("DIV"); for (var i=0; i<aDivs.length; i++) { new neverDragDivision(aDivs[i]); } //--> </SCRIPT> </BODY> </HTML>
第三节将讲述如何一步步的完善拖动层代码。
posted on
2006-07-18 14:15榻榻米
阅读(739)
评论(0)
编辑收藏举报