JavaScript / jQuery – offsetLeft和offsetTop

当hover在跨度上时,我想得到offsetLeft和offsetTop值,这样我就可以在它附近hover一些东西。 当我这样做时,两个值都得到0。

有什么更好的方法来解决这个问题? 我正在使用jQuery。

假设我开始(通过服务器端脚本循环):

some username

最后的想法:
我根据“代码杠杆”/ DRY给出答案代表。 您可以在自己的js库中反复使用的较长function。 然而,第二个简短的答案也是100%正确的。

我认为你应该能够做到这一点:

HTML

 some username

jQuery的

 jQuery('.get-close-to').hover(function() { var offset = jQuery(this).css('offset'); alert( 'Left: ' + offset.left + '\nTop: ' + offset.top ); }); 

$(this).offset().left$(this).offset().top

为什么需要服务器端脚本?

试试这个:

  var positionImg = function(e) { $(this).offset(); var zoomCntnrPos = $(this).offset.top; if (zoomCntnrPos >= maxBottomVPos) { tPosX = e.pageX; tPosY = e.pageY +20; } else if (zoomCntnrPos <= maxTopVPos){ tPosX = e.pageX; tPosY = e.pageY +40; } else { tPosX = e.pageX; tPosY = e.pageY -100; } $zoomContainer.css({top: tPosY, left: tPosX}); };