Gerade für sehr viele Seiten habe ich mal nach einer Idee für eine schnellere Navigation gesucht. Oft, weil einfach zu realisieren, findet man die aktuelle Seite plus und minus der nächsten x Einträge zum Direktanwählen, sowie Links für Einzelschritte und die beiden Extreme erste und letzte Seite. Mitunter gibt es noch Fast-Forward, also festgelegte Sprünge von beispielsweise 10 Seiten vorwärts und zurück. Um auf eine Seite zwischen der aktuellen Seite und einem der Enden zu gelangen, muss nun eine Weile klickern. Wenn man ein Gruppierkriterium hat, beispielsweise den Anfangsbuchstaben, kann man ja dieses zu einem groben Sprung ins Zielgebiet verwenden, doch nehmen wir mal den Fall einer unsortierten/-baren Auflistung, oder die Erstellung eines allgemeinen Pagers, bei dem man nicht weiß, für welche konkreten Anwendungsfälle er später mal eingesetzt werden wird.
Meine Überlegungen gingen davon aus, dass man um die aktuelle Seite herum sich in kleinen Schritten bewegen möchte und danach der Abstand zwischen den Sprüngen exponentiell wächst. Hört sich erstmal einfach an, doch der Teufel steckt im Detail. Welche Formel bietet im "Nahfeld" einen gleichmäßigen Anstieg, der auch bei großer Stauchung (aktuelle Seite recht nah am Extrem) oder Streckung (aktuelle Seite weit weg vom Extrem) nicht zu flach bzw. zu steil wird? Nimmt man für Nahfeld und Weitsprung getrennte Formeln, wie bekommt man dann eine ideale Sprungweitenberechung beim Start der Kurve hin? Oder vielleicht ganz einfach 1-2-5, sprich: 1-2-(3-4)-5-10-20-50-100-200-500-… als Sprungweite?
Kurzum, kennt jemand Implementationen (als Algorithmus oder auch nur zum Anschauen), von denen man sich Ideen holen kann?