在某些情况下,offset()方法似乎返回错误的0/0偏移量
使用jQuery,在文档就绪时,鼠标移除a.TT选择器。
$(' .TT')。on(' mouseover',linkMouseover)
在鼠标悬停时,应显示工具提示...
function linkMouseover() {
var $this=$(this);
var offset = $this.offset();
$('#log').append('id=' + $this.attr('id') + ' offset=l' + offset.left + '/t=' + offset.top + '<br />');
/*...*/
}
在绝对定位的div的组合中,offset()返回0,0 ......
请在此处查看代码:
https://jsfiddle.net/9ysckk2u/3/
我错过了什么吗?可能是使用css-calc()进行定位的结果吗?
答案 0 :(得分:1)
我不知道为什么,但是当我将鼠标悬停在.Div3元素上时,它会触发鼠标悬停,鼠标悬停和另一个鼠标悬停,它会依次显示该元素,隐藏它并再次显示它。可能在隐藏元素时调用计算偏移量的代码。所有这些都发生得非常快,我们也没有看到它发生。
但是,如果你使用jQuery hover,而不是mouseover和mouseout,一切正常:https://jsfiddle.net/velum/558e83cL/1/
function indexReady() {
// $('.Div3').mouseover(over3);
// $('.Div3').mouseout(out3);
$('.Div3').hover(over3, out3);