4.3k Aufrufe
Gefragt in Webseiten HTML von azn-freak Mitglied (215 Punkte)
Ich habe ein Javascript, das bei einem Klick ein bestimmtes Emelent ein- bzw. ausblendet.
Klicke ich auf einen Link, erscheint etwas. Klicke ich auf einen zweiten Link, erscheint etwas beim zweiten Link.

Ich möchte das aber so haben, dass wenn man auf den ersten Link klickt, das was beim zweiten Link (sollte es eingeblendet seni) ausgeblendet wird.
Das gleiche soll für den zweiten Link gelten. Klicke ich auf den zweiten Link, wird das vom zweiten Link eingeblendet und das vom ersten Link ausgeblendet.

Das Script sieht wie folgt aus:
function Toggle(id) {

spanid1 = "ToggleRow_"+id;
val = document.getElementById(spanid1).style.display;
if (val == "none")
{
document.getElementById(spanid1).style.display = "block";
}
else
{
document.getElementById(spanid1).style.display = "none";
}
}

Im HTML eingebaut sieht es so aus:
<a href="javascript:Toggle('2')">
<img src="button/media.png" name="Media" border="0" id="Media" /></a>

<span id="ToggleRow_2" style="display:none">
<div style="width:90px; background-image:url(img/blue.png); text-align:left; padding:4px;">
<a href="home.html" target="Main">Pics</a><br>
<a href="home.html" target="Main">Videos</a>
</div></span>


Kennt sich da jemand aus?

12 Antworten

0 Punkte
Beantwortet von
function Toggle(id) {
var alleElemente=["ToggleRow_1","ToggleRow_2"];
for (var i=0;i<alleElemente.length;i++) {
document.getElementById(alleElemente[i]).style.display="none";
}
var spanid1 = "ToggleRow_"+id;
document.getElementById(spanid1).style.display="block" ;
}


Du solltest beachten, dass div niemals innerhalb span stehen darf.
0 Punkte
Beantwortet von
Nachtrag zur Lösung aus Antwort 9: die basiert auf ungültigem HTML, nicht alle Browser machen da mit! Von solchem Pfusch würde ich daher abraten!
...