2010-12-13 19 views
3

私はそれが行高さのCSSプロパティに関連していると思ったが、うまくいかなかった。スクロールアップ/ダウンボタンをクリックしたときのスクロール量の調整方法は?スクロールバーのボタンをクリックしたときのFirefoxのスクロールの増分を制御する方法は?

+0

私はFirefoxでラインスクロール量は、CSSのフォントからのものであることを持っていますプロパティ。 – ithinc

+0

これはオーバーフロー領域をスクロールする場合に適しています。 – Neil

+0

IIRCの場合、これはOSレベルの設定です。私はそれを乱すことをお勧めしません。 – drudge

答えて

0

私が知る限り、これはあなたが支配するものではありません。しかし、JavascriptのonScrollイベントをリッスンしてから、JavascriptのscrollByメソッドを使用して、必要なものに応じて多かれ少なかれページをスクロールできます。私はこれがどのように見えるかわからない、物事は少しばかげて、ユーザーに混乱する可能性があります。また、ユーザーがページをズームインしたかどうかを考慮する必要があります。

+0

マウスホイールを使用してスクロールしたり、スクロールバーをドラッグしたりするユーザーも考慮する必要があります。ユーザーがページをどのようにスクロールしたかを判断する方法はありません。 – thesonglessbird

+0

お寄せいただきありがとうございます。私はコンテンツのためではなく、UIのためにこれを使用しています。 MDCはスクロールバーに「インクリメント」属性があると言いますが、要素のスクロールバーにアクセスする方法はわかりません。スクロールバーがDOMツリーにないようです。奇妙な! – ithinc

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(); 
    } 
関連する問題