2010-01-29 7 views
6

Ich erstelle eine grafische Bildlaufleiste, deshalb muss ich die Höhe der Bildlaufleiste manuell berechnen. Sie wissen, wie sich die Höhe der Bildlaufleiste in den meisten Anwendungen ändert, je nachdem, wie viel Bildlauf erforderlich ist?Berechne die Höhe der Bildlaufleiste nach der Anzahl der versteckten Inhalte

Wie lautet die Formel zum Berechnen der Höhe der Bildlaufleiste basierend auf der Menge der ausgeblendeten Inhalte? Ist es logarithimetisch oder exponentiell oder einfach nur basierend auf dem prozentualen Anteil der sichtbaren Inhalte und der versteckten Inhalte?

Das sind meine Eingangsgrößen:

  • Sichtbarer Bereich - zB. 100 px
  • Inhalt Höhe - z. 1000 px
  • Maximale Bildlaufhöhe - z. px 500

Dies ist, was ich berechnen wollen:

  • Scrollbar Höhe - zB. 50 px

Antwort

7

Es ist normalerweise ein Prozentsatz.

z. Wenn der sichtbare Bereich 99% der gesamten Fläche beträgt, beträgt die Bildlaufleiste 99% der Höhe.

Wenn die sichtbare Fläche 50% der Gesamtfläche beträgt, beträgt die Bildlaufleiste 50% der Höhe.

Nur sicher sein, die Mindestgröße etwas Vernünftiges zu machen (zB mindestens 18-20px)

Wenn Sie also eine sichtbare Höhe von 500px haben, und den Inhalt der 50,000px obwohl es sollte einen Daumen machen Schraubenhöhe von (1% von 500px = 5px) ... verwenden Sie stattdessen das Standardminimum (zB 20px)

+1

Wie kann die Bewegung in%!? Wie wenn ich die Bildlaufleiste um 5px nach unten bewege, wie viel sollte ich die Oberseite der div bewegen?! –

+0

Indem Sie die gleiche Regel von drei verwenden, die Sie für die Berechnung der Höhe verwenden, einfach umgekehrt. – maxdev

0

würde ich procent verwenden. Wenn also der sichtbare Bereich 45% der Inhaltshöhe beträgt. Die Höhe der Bildlaufleiste würde 45% der maximalen Bildlaufleiste betragen. Das fühlt sich für den Anfang richtig an. Wenn Sie also die Bildlaufleiste oben sehen, wissen Sie, dass der Inhalt doppelt so groß ist.

Aber ich denke, dass Sie ein unteres Limit brauchen, wie klein die Bildlaufleiste sein kann, damit der Benutzer darauf klicken kann.

0

Ich denke, dass lineare Formel wird gut tun. Angenommen, die maximale Höhe der Bildlaufleiste entspricht der maximalen Höhe des sichtbaren Bereichs, so würde der Pseudocode wie folgt aussehen:

Verwandte Themen