Hallo,
habe das Problem schon mal gepostet, versuche es nun noch einmal, weil mir selbst in der jQuery Group irgendwie keiner helfen kann. Hoffe, hier kann mir jemand helfen
Habe folgenden jQuery-Code:
$(document).ready(function(){
$("a.navia:not([id='imprint'])").attr("href", "#");
$("a.navia").click(function(){
var active = "div#subnavibg" + $(this).attr("id") + ":hidden";
$("div.subnavibg:visible").slideUp(500);
$("a.navia.selected").removeClass("selected");
$(active).slideDown(500);
$(this).not([class='selected']).addClass("selected");
});
});
Dazu gehört folgender HTML-Body:
[News](/news)
[About](/about)
[Services](/services)
[References](/references)
[Contact](/contact)
[Imprint](/imprint)
Wenn ich auf einen Navigationslink klicke, erscheint ein Subnavigations-DIV und der entsprechende Navigationslink wechselt durch Klassenzuweisung die Farbe. Wenn ich dann auf einen anderen Navigationslink klicke, verschwindet das vorherige Subnavigations-DIV, das neue DIV erscheint, der alte Navigationslink bekommt auch wieder seine alte Farbe und der neue bekommt die entsprechende Farbe. So weit, so gut, das funktioniert prima.
Wenn ich nun beispielsweise auf den Navigationslink „Services“ klicke, erscheint natürlich das entsprechende Subnavigations-DIV und der Navigationslink bekommt die Klasse „selected“. Wenn ich nun wieder auf „Services“ klicke, verschwindet zwar, wie gewollt, das Subnavigations-DIV, aber der Link verliert die Klasse „selected“ nicht! Obwohl ich ja mit
$(this).not([class='selected']).addClass("selected");
anweisen will, dass nur ein Link, der noch nicht die Klasse „selected“ hat, auch wirklich die Klasse „selected“ bekommen soll.
Kann mir jemand hier weiterhelfen, mittlerweile habe ich schon viel versucht, aber ich verstehe nicht, warum das nicht so klappt…
Viele Dank schon mal an die Experten!
Gruß,
Iustinian