2012-07-02 23 views
2

想知道是否有人能夠解決Firefox/Mozilla不支持負值scrollTop的值。jQuery scrollTop - 不支持Mozilla/Firefox中的負值

在jQuery中使用scrollTop時,Chrome和Safari(WebKit)似乎都能夠允許用戶滾動瀏覽頁面內容並返回負值。雖然在Firefox上使用時,無法滾動瀏覽內容並收到負值scrollTop值。

其他人有同樣的問題?

謝謝, 大衛

+0

AFAIK scrollTop已經是元素'negative'頂部滾動位置的正N ... –

+0

'$(window).scrollTop($(window).scrollTop() - 10)'? – undefined

回答

1

由於scrollTop的默認行爲滾動到0傳遞一個負值的時候,我做了這個功能,處理scrollTop的和模擬「下滾」。

如果anchor_pos是負的(所以這是我上面的當前滾動位置),我從當前滾動位置減去它的值(因爲它有一個負值,我使用的+號)

function jumpToAnchor(scrollable_div_selector, anchor_selector) 
{ 
    anchor_pos = $(anchor_selector).position().top; 

    //check if negative value 
    if (anchor_pos < 0) 
    { 
     anchor_pos = $(scrollable_div_selector).scrollTop() + anchor_pos; //anchor_pos is negative, so i'm substracting it 
    } 

    $(scrollable_div_selector).scrollTop(anchor_pos); 
}