2011-04-05 107 views
1

我正試圖將一個非常簡單的懸停工具提示放在頁面上一系列元素的正上方。我的定位代碼在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的恰好的量。我沒有用橫向滾動測試,但我認爲它會有同樣的問題。

回答

1

我不會完全稱之爲「解決」,但我停止使用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