8

グラフィカルなスクロールバーを作成しているので、スクロールバーの高さを手動で計算する必要があります。ほとんどのアプリケーションで、スクロールする量に基づいてスクロールバーの高さがどのように変化するか知っていますか?

非表示のコンテンツの量に基づいてスクロールバーの高さを計算する式は何ですか? それは対数的または指数的ですか、それとも単に表示されているコンテンツと非表示のコンテンツの割合に基づいていますか?

これらは私の入力変数です:

  • 可視領域 - 例。100ピクセル
  • コンテンツの高さ - 例: 1000ピクセル
  • スクロールバーの最大高さ - 例: 500ピクセル

これは私が計算したいものです:

  • スクロールバーの高さ - 例。50ピクセル??
4

3 に答える 3

9

通常はパーセンテージです。

たとえば、表示領域が全領域の 99% の場合、スクロールバーは高さの 99% です。

同様に、可視領域が全領域の 50% である場合、スクロールバーは高さの 50% です。

最小サイズを適切なものにするようにしてください (例: 少なくとも 18-20px)。

したがって、500px の表示高さと 50,000px のコンテンツがある場合つまみネジの高さを (500px の 1% = 5px) にする必要があります... 代わりにデフォルトの最小値 (例: 20px) を使用します。

于 2010-01-29T13:56:05.637 に答える
0

一次方程式でうまくいくと思います。最大スクロールバーの高さが最大表示領域の高さと同じであるとすると、擬似コードは次のようになります。

scrollbar_visible=true;
if (content_height < visible_height) {scrollbar_visible = false; return;} // hide the scrollbar if there'se nothing to scroll
scrollbar_height = visible_height/content_height;
scrollbar_height = min(scrollbar_height, min_scrollbar_height); // don't let the scrollbar become smaller than some predefined size
于 2010-01-29T14:04:33.450 に答える
0

私はパーセントを使用します。したがって、可視領域がコンテンツの高さの 45% である場合。スクロールバーの高さは、最大スクロールバーの高さの 45% になります。これは、最初にちょうどいい感じです。したがって、上部にスクロールバーが表示されている場合は、コンテンツが約 2 倍になっていることがわかります。

しかし、ユーザーがスクロールバーをクリックできるようにするために、スクロールバーをどれだけ小さくできるかについて、下限が必要だと思います。

于 2010-01-29T13:56:07.750 に答える