2012-04-21 9 views
2

私は現在、カスタムスクロールプラグイン(私が書いた)を使って、タッチデバイスやデスクトップブラウザで要素をスクロールできるようにするプロジェクトに取り組んでいます。すべてが正しく動作しています(iOSの速度と減速を含む)。jQuery/JavaScriptのカスタムスクロールバー数学

しかし、残っている唯一の問題は、ユーザーがスクロールするときにスクロールバーの上(または左)の位置を計算することです。私は、次のformularでスクロールバーの高さを計算しています。これはバーの正しい高さを計算しているようだ

Math.round((container.height()/content.height()) * 100); 

が、今私は、スクロールバーの位置が時に移動する必要がありますどのくらいで動作するようにformularが必要ユーザーがスクロールします。私はGoogleを介してチェックし、多くの使用を見つけることができませんでした。また、ここで検索し、コメントを歓迎します。

  • コンテナの高さ
  • コンテンツの高さ
  • 現在のスクロール位置(scrollTop
  • スクロールバーの高さ

答えて

4

Iは、式で使用するため、以下のデータを用意してスクロールバーの位置は、次の式で計算する必要があります。

また
Math.round((scrollbar.height * scrollTop/content.height()); 
+2

:scrollbar.heightこの式で計算されるべきである。 '恐らくMath.round((scrollbarArea.height * container.height/content.height());' 通常scrollbarArea.height = container.height –

+0

あなたの答えをありがとうが、私はこれがうまくいかないように思えます。例えば、ここでいくつかのスクロールが発生した後の計算がどのように見えるかです: 358 * 698分の33 = 17 358 * 698分の40 = 21 358 * 698分の54 = 28あなたは助けてもらえますか?私は、スクロールバーの高さではなく、位置の計算に問題があると思います(私はスクロールバーの式を使用しました)。 – BenM

関連する問題