![]() |
1
1
不久前,我遇到过一个例子,我也在处理鼠标位置和对象,因为我需要一些拖放操作。我想出了两种方法: /** * Calculates the mouse x and y position from the mouse move event fired by the document * * @param event * the mouse move event fired by the document * * @return the mouse coordinates object with two variables x and y */ function mouseCoords(ev) { var event = ev; // IE does not pass the event object if (event == null) event = window.event; try { // normal style if (event.pageX) { return { x : event.pageX, y : event.pageY }; } // IE style else { return { x : event.clientX + document.body.scrollLeft - document.body.clientLeft, y : event.clientY + document.body.scrollTop - document.body.clientTop }; } } catch(ex) { // IE style return { x : event.clientX + document.body.scrollLeft - document.body.clientLeft, y : event.clientY + document.body.scrollTop - document.body.clientTop }; } } /** * Calculates an object with the x and y coordinates of the given object * * @param object * the object of which the coordinates to be calculated * * @return an object with x and y coordinates */ function getObjectPosition(object) { var left = 0; var top = 0; while (object.offsetParent) { left += object.offsetLeft; top += object.offsetTop; object = object.offsetParent; } left += object.offsetLeft; top += object.offsetTop; return { x : left, y : top }; }
|
![]() |
2
1
好吧,我的问题在别的地方。我是这样调用函数的:
谢谢大家的帮助:-) |
![]() |
3
0
这不适用于绝对定位,因为它不考虑
我本来打算从jQuery中删除这部分代码并将其发布到这里,但它太扎根了。所以我只能推荐使用jQuery!要做到这一点,只需在标记中包含它(在任何其他标记之前)
一旦你引用了它,你就可以 get the position 一个元素如此容易。。。
|
![]() |
Crickets · 如何固定UILabel位置? 7 年前 |
![]() |
Alexy Grabov · 查找最大堆中k个最大元素的位置 7 年前 |
|
Bill_R · 无法将图像放置在文本旁边(推入下一个div) 7 年前 |
![]() |
NESHOM · 根据Qt中的显示/屏幕大小定位动态QDialog 7 年前 |
![]() |
Carolo · 更新Highcharts上的数据标签位置 7 年前 |
![]() |
J. Doe · CSS:关于绝对位置的几个问题 7 年前 |
![]() |
dihakz · 如何让jQuery从最后一个位置设置动画到新位置? 7 年前 |
![]() |
Genesis · Java-从文件中的特定索引中提取相关字符串/字符 7 年前 |