jquery ie8 scrollTop和偏移问题

问题描述:

我正试图将一个非常简单的悬停工具提示放在页面上一系列元素的正上方。我的定位代码在FF中完美工作,但在IE8中,如果页面滚动,则定位失败。我正在补偿滚动,但在IE8中,似乎我必须将数字加倍才能正常工作。jquery ie8 scrollTop和偏移问题

$('.evidence_thumb').mouseenter(function() { 
    var position = $(this).position(); 
    $top = ((position.top - $('#icon_tool_tip').height()) + $(window).scrollTop()) + 10; 
    $left = ((position.left) + $(window).scrollLeft()) - 40; 
    $('#icon_tool_tip').offset({ top: $top, left: $left }); 
}); 

在与上面的代码显示错误的容限总是scrollTop的恰好的量。我没有用横向滚动测试,但我认为它会有同样的问题。

我不会完全称之为“解决”,但我停止使用jQuery偏移来支持css。我改变了: $('#icon_tool_tip')。offset({top:$ top,left:$ left}); 至: $('#icon_tool_tip')。css({top:$ top,left:$ left});

这让我的问题消失了,但是有一些奇怪的事情发生在我想要了解的偏移量上。

+0

$ top和$ left在使用偏移量()时有单位吗?根据jQuery文档,它看起来像你不需要单位与偏移量() – Capsule 2011-04-05 16:12:21

+0

他们没有单位。奇怪的是,我认为会要求他们的CSS调用,虽然我没有检查文档是肯定的。如果我得不到洗牌,我打算重新探讨这个问题,并找出发生了什么事情。 – Tom 2011-04-06 20:05:05