2010-12-13 62 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(); 
    }