2017-01-06 23 views
1

私はCSS3を使用してスクロール方向に従ってdivを上下にスライドします。私はマウスのホイールイベントを使用してユーザーのスクロールを追跡しています。また、ユーザーがCSS3トランジションでdivをスクロールダウンすると、ただし、マウスホイール/トラックパッドの感度を変更する必要があります。さて、私が車輪を1つだけ「ダニ」にすると、そのイベントはすでに発射されます。トラックパッド(Macbook)では、わずか1ミリメートルの2本指の動きでイベントが発生し、アニメーションは何度も呼び出されます(感度が高すぎます)。私はアニメーションがすぐに発射されないことを確認するために、マウスホイールの回転/ダブルフィンガースワイプの最小限の数を指定できる必要があります。マウスホイール/トラックパッドの感度をJavaScriptで変更します

$leftSide.bind('DOMMouseScroll mousewheel', function(e) { 
    if (scrollStep > 0 || scrollStep < $numberOfItems) { 
     $leftSide.css({ 
      marginTop: scrollStepPixelsString, 
      WebkitTransition: 'margin-top 700ms ease-in-out', 
      MozTransition: 'margin-top 700ms ease-in-out', 
      MsTransition: 'margin-top 700ms ease-in-out', 
      OTransition: 'margin-top 700ms ease-in-out', 
      transition: 'margin-top 700ms ease-in-out' 
     }); 
    } 
}); 

どのように私はマウスホイールやトラックパッドの感度を低下させることができます。

ここで私が今持っているコードですか?

答えて

1

最後に呼び出されてからxミリ秒の間、関数の実行を遅らせるために'debounce function'を試すことができます。

+0

この投稿は件名に多く含まれています:http://stackoverflow.com/questions/7408100/can-i-change-the-scroll-speed-using-css-or-jqueryとNiceScrollは別のオプションかもしれません:http://areaaperta.com/nicescroll/demo.html –

+0

驚くばかりの答え。以前はデバウンスとスロットルを使っていましたが、今回はそれについて考えることはできませんでした。ありがとう:) –

関連する問題