Hallo erstmal an alle,
ich bin seit Stunden am Internet wälzen, habe mir mein Skript zich mal angesehen aber ich komme einfach nicht drauf was da falsch sein könnte.
Ich habe folgendes Problem:
Auf einer Webseite steuere ich die aktiv Zustände meiner Navigation und Subnavigation per JavaScript (die Hover Effekte jedoch mit CSS).
Das mache ich weil ich die Seite in einem Template habe und um die Navigation nicht in einen bearbeitbaren Bereich packen zu müssen und auf jeder Seite den aktiv Zustand einzeln ändern zu müssen.
Das JavaScript funktioniert in Firefox, IE, Opera nur der Safari zeigt es mir garnicht an, da funktionieren lediglich die Hover Effekte.
Hier mal das JavaScript
// <![CDATA[
function linksAbrufen() {
var navMainLinks = document.getElementById("head2").getElementsByTagName("a");
var classON = "navion"; // CSS Klasse die die Definitionen für den aktiv Zustand enthält
var currentSiteURL = location.href;
var currentSiteURLSplits = currentSiteURL.split("/");
var currentSiteURLDir = currentSiteURLSplits[currentSiteURLSplits.length-2];
for (var i = 0; i <= (navMainLinks.length - 1); i++) {
var currentSiteURL = location.href;
var navMainCurrentLinkSplits = String(navMainLinks[i]).split("/");
var navMainCurrentLinkDir = navMainCurrentLinkSplits[navMainCurrentLinkSplits.length-2];
if (navMainLinks[i].href == window.location.href) {
navMainLinks[i].className = classON;
break;
}
if (navMainCurrentLinkDir == currentSiteURLDir) {
var navSubLinks = document.getElementById("navsub").getElementsByTagName("a");
for (var e = 0; e <= (navSubLinks.length - 1); e++) {
if (navSubLinks[e].href == window.location.href) {
navSubLinks[e].className = classON;
navMainLinks[i].className = classON;
}
}
}
}
}
// ]]>
Das ganze wird dann im body mit onload="linksAbrufen();" aufgerufen.
Hat jemand eine Idee woran es liegen kann?