// Wenn das DOM der aktuellen Seite fertig aufgebaut ist:
$(document).ready(function () {
// Regular Expression: Finde String, der vier "/" enthaelt und die Zeichenfolge davor
var re = /(.*)(\/[^\/]*\/[^\/]*\/[^\/]*)/;
// Finde Regular Expression in URL der aktuellen Seite
var components = re.exec(location.href);
// Die Basis-URL ist der erste geklammerte Teilstring (z. B. http://www.jans-pflanzenwelt.de)
var baseurl = components[1];
// Die relative URL ist der zweite geklammerte Teilstring (z. B. /steingarten/daphne/daphne.php)
var relurl = components[2];
// Das jQuery-Element zur relativen URL ist das a-Tag, wo das href-Attribut gleich der relativen URL ist
var currentele = $("a[href='" + relurl + "']");
// Das Elternelement mit der Klasse "deeper parent" finden
var prnt = currentele, i = 0;
while (!prnt.hasClass("deeper parent") && i < 5) {
prnt = prnt.parent();
i++;
}
// Pruefen, ob das Elternelement gefunden wurde
if (prnt.hasClass("deeper parent")) {
// Alle jQuery-Elemente dieser Gatttung sind die a-Elemente innerhalb des Elternelementes,
// die ein href-Attribut haben
var allele = prnt.find("a[href]");
// Index des aktuell angezeigten Elementes im Array aller Elemente ermitteln
var currentidx = allele.index(currentele);
// Fuer alle Elemente dieser Gattung:
allele.each(function (idx, ele) { // idx ist der Index des aktuell bearbeiteten Elementes
// Neues a-Element fuer die Liste in der Navigation erzeugen
newele = $('<a> ' + (idx + 1) + ' </a>');
// Diesem Element das href-Attribut des aktuell bearbeiteten Elementes geben
newele.attr("href", $(this).attr("href"));
// Wenn der Index gleich dem Index des aktuell angezeigten Elementes ist:
// Dem a-Element die Klasse "activelink" hinzu fuegen
if (idx == currentidx) newele.addClass("activelink");
// Neues a-Element der Liste in der Navigation hinzufuegen
$("#navlist").append(newele);
});
// Wenn die aktuell angezeigte Seite nicht die erste ist:
if (currentidx > 0) {
// href-Attribut des vorherigen Elementes ermitteln
var prevurl = $(allele[currentidx - 1]).attr("href");
// und dem Pfeil nach links zuordnen
$("#navback").attr("href", prevurl);
} else {
// Andernfalls (die aktuell angezeigte Seite ist die erste):
// Pfeil nach links verbergen
$("#navback").css("visibility", "hidden")
}
// Wenn die aktuell angezeigte Seite nicht die letzte ist:
if (currentidx < allele.length - 1) {
// href-Attribut des naechsten Elementes ermitteln
var nexturl = $(allele[currentidx + 1]).attr("href");
// und dem Pfeil nach rechts zuordnen
$("#navnext").attr("href", nexturl);
} else {
// Andernfalls (die aktuell angezeigte Seite ist die letzte):
// Pfeil nach rechts verbergen
$("#navnext").css("visibility", "hidden")
}
}
});