2010-12-13 26 views
3

我以爲它是與行高CSS屬性有關,但它不起作用。單擊向上/向下滾動按鈕時如何調整滾動量?如何在點擊滾動條按鈕時控制Firefox中的滾動增量?

+0

我有在Firefox行滾動量是從CSS字體屬性。 – ithinc 2011-01-02 15:48:27

+0

這在滾動溢出區域的情況下是正確的。 – Neil 2011-01-20 00:23:45

+0

IIRC,這是一個OS級別的設置。我不會推薦搞亂它。 – drudge 2011-01-20 01:21:35

回答

0

據我所知,這不是你可以控制的東西。但是,您可以偵聽Javascript onScroll事件,然後使用Javascript scrollBy方法根據您的需要或多或少地滾動頁面。我不確定這是如何看起來的,但事情可能會讓用戶產生一些疑惑和困惑。您還必須考慮用戶是否放大或縮小頁面。

+0

您還需要考慮使用鼠標滾輪或通過拖動滾動條進行滾動的用戶。沒有辦法確定用戶如何滾動頁面。 – thesonglessbird 2010-12-13 17:24:13

+0

非常感謝您的幫助。我沒有將這個用於內容,而是用於UI。我發現MDC說滾動條有一個「增量」屬性,但我不知道如何訪問元素的滾動條。看起來滾動條不在DOM樹中。奇怪! – ithinc 2010-12-14 06:21:41

0

假設你想滾動任意區域(而不是一個對象,比如一棵已經支持滾動的樹),那麼你可以設置overflow:hidden並使用顯式的滾動條元素。不幸的是,腳本沒有簡單的方法檢測用戶與滾動條元素的交互,除了觀看curpos屬性。

0

你無法控制,直接點擊Firefox中的滾動增量時滾動條按鈕,但您可以使用此代碼:

//element may be window or a HTML element 
    //amount of incrementation should be an integer representing the number of pixels to be scrolled 
    //works in all last versions of major browsers 

    element.addEventListener(/firefox/i.test(navigator.userAgent) ? 'DOMMouseScroll' : 'mousewheel', function (event) { 
    element.scrollTop -= (event.detail ? (event.detail % 2 ? event.detail/-3 : event.detail/-2) : event.wheelDelta/120) * amount; 
event.preventDefault(); 
    }