Enrico: Kein Weiterkommen bei Blättermechanismus

Beitrag lesen

Hallo,

ich komme bei meinem Blättermechanismus einfach nicht weiter.

Den Tip von Struppi kann ich so leider nicht umsetzen, das wäre natürlich schon sehr gut gewesen.

Aufgrund eurer Anregungen habe ich die Systematik überarbeitet:

1  [2] [3] [4] [5] [6] [7] ... [15]

[1]  2  [3] [4] [5] [6] [7] ... [15]

[1] [2]  3  [4] [5] [6] [7] ... [15]

[1] [2] [3]  4  [5] [6] [7] ... [15]

[1] ... [2] [3] [4]  5  [6] [7] [8] ... [15]

[1] ... [3] [4] [5]  6  [7] [8] [9] ... [15]

[1] ... [4] [5] [6]  7  [8] [9] [10] ... [15]

[1] ... [5] [6] [7]  8  [9] [10] [11] ... [15]

[1] ... [6] [7] [8]  9  [10] [11] [12] ... [15]

[1] ... [7] [8] [9]  10  [11] [12] [13] ... [15]

[1] ... [8] [9] [10]  11  [12] [13] [14] ... [15]

[1] ... [9] [10] [11]  12  [13] [14] [15]

[1] ... [9] [10] [11] [12]  13  [14] [15]

[1] ... [9] [10] [11] [12] [13]  14  [15]

[1] ... [9] [10] [11] [12] [13] [14]  15

Die Seitengruppierungen will ich weglassen, der verbleibende "Rest" ist immer Geschmackssache, es
wird immer jemanden geben, der mit dem System nicht zurecht kommt, aber nachdem die Seite ohnehin
nur lokal betrieben wird, ist das kein Thema.

Mein Code sieht aktuell wie folgt aus:

function Seite_anzeigen (Seite)
      {
         // Code zur Erzeugung und Ausgabe der gewählten Seite entsprechenden Inhalte

Blaetterfunktion_aufbauen (Seite);
      }

function Blaetterfunktion_aufbauen (Seite)
      {
         var Zaehler = 1;
         var Anzahl_Seiten = 1;

var Blaetterfunktion = "";

var Anzahl_Filme = 253; // Nur zu Testzwecken hier festgelegt

for (var i = 0; i < Anzahl_Filme; i++)
         {
            if (Zaehler == 30)
            {
               Anzahl_Seiten += 1;
               Zaehler = 1;
            }

Zaehler += 1;
         }

if (Anzahl_Seiten <= 7)
         {
            for (var i = 1; i <= Anzahl_Seiten; i++)
            {
               if (i == Seite)
               {
                  Blaetterfunktion += '<span class="Aktiv">' + i + '</span>';
               }
               else
               {
                  Blaetterfunktion += '<a href="javascript:void(0);" onclick="Seite_anzeigen (' + i + '); this.blur();">' + i + '</a>';
               }
            }
         }
         else
         {
            Blaetterfunktion += '<a href="javascript:void(0);" onclick="Seite_anzeigen (1); this.blur();">1</a>';
            Blaetterfunktion += " ... ";

for (var j = 1; j < Seite + 7; j++)
            {
               Blaetterfunktion += '<a href="javascript:void(0);" onclick="Seite_anzeigen (' + (Seite + j) + '); this.blur();">' + j + '</a>';
            }

Blaetterfunktion += " ... ";
            Blaetterfunktion += '<a href="javascript:void(0);" onclick="Seite_anzeigen (' + Anzahl_Seiten + '); this.blur();">' + Anzahl_Seiten + '</a>';
         }

var Container_Blaetterfunktion = document.getElementById ("Container_Blaetterfunktion");
             Container_Blaetterfunktion.innerHTML = Blaetterfunktion;
      }

Ich hänge jetzt an dem Punkt, wie ich feststellen kann, ob sich die gewählte Seite innerhalb der drei
Seitenlinks vor der aktuellen Seite befindet oder innerhalb der drei Seitenlinks nach der aktuellen
Seitennummer und wie ich den Code entsprechend schreiben muß.

Beispiele zur Verdeutlichung:

Die aktuelle Seite ist die "2" mit folgender Anzeige:

[1]  2  [3] [4] [5] [6] [7] ... [15]

Jetzt wähle ich die Seite 3, die Anzeige wechselt:

[1] [2]  3  [4] [5] [6] [7] ... [15]

Wähle ich hingegen die Seite 5, dann habe ich drei Seiten vor der 5 und (wegen der Seitenanzahl) auch
drei Seiten nach der 5, die angezeigt werden, nebst dem Link auf die letzte Seite:

[1] ... [2] [3] [4]  5  [6] [7] [8] ... [15]

Ich möchte also die aktuelle Seite immer als Mittelpunkt einer 7er-Gruppe von Seitenlinks anzeigen,
natürlich vorausgesetzt, ich bin nicht auf der vorvorletzten Seite:

[1] ... [9] [10] [11]  12  [13] [14] [15]

Oder der vorletzten Seite:

[1] ... [9] [10] [11] [12]  13  [14] [15]

Ich hoffe, ihr habt mich verstanden.

Ich bin vor einigen Tagen auf eine Seite gestossen, die genau diesen Mechanismus verwendet hat, habe den
Link die letzte halbe Stunde auch fieberhaft wieder gesucht, aber nicht mehr gefunden. Somit kann ich
euch leider kein Online-Demo anbieten.

Ich hoffe, ihr könnt mir weiterhelfen.

Vielen Dank und Gruß
Enrico