JavaScript/jQuery - offsetLeft和offsetTop

Bud*_*Joe 4 javascript jquery

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

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

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

<span onmouseover="hoverNearMe(this.offsetLeft,this.offsetTop);">some username</span><br />
Run Code Online (Sandbox Code Playgroud)

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

svi*_*nto 28

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

  • 小心,$(this).offset().left不等于this.offsetLeft(顶部相同).http://jsfiddle.net/gnNLD/5/ (5认同)

nic*_*hrn 13

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

HTML

<span class="get-close-to">some username</span><br />
Run Code Online (Sandbox Code Playgroud)

jQuery的

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