![]() |
| | Themen-Optionen |
| | Nach oben #1 |
| Sven Schmalle Registriert seit: 18.08.2005 Ort: Bremen
Beiträge: 149
|
Ich hab folgenden code: HTML-Code: <html> <head> <script> function toggle_button(id) { if(document.getElementById(id).style.display == 'block') { document.getElementById(id).style.display='none'; } else { document.getElementById(id).style.display='block'; } } </script> </head> <div> <a href="#" onClick="javascript:toggle_button('1');"> Ein/ausblenden </a> </div> <div style="display:block;" id="1"> <div>Hier<br>Steht<br>eine<br>Adresse<br>drin 1<br></div> </div> <div style="display:block;" id="1"> <div>Hier<br>Steht<br>eine<br>Adresse<br>drin 2<br></div> </div> <div style="display:block;" id="1"> <div>Hier<br>Steht<br>eine<br>Adresse<br>drin 3<br></div> </div> </html> Logischer wwise blendet dieser Code nur den ersten DIV ein und aus, weil das ganze ID bezigen basiert. Ich hab aber keine idee wie ich ALLE 3 DIVS ein/ausblenden kann. kann da mal jemand freundlicherweise einen denkanstoß geben? danke |
| | |
| | Nach oben #2 |
| Martin Breuer Registriert seit: 17.08.2005 Ort: Berlin
Beiträge: 1.642
|
IDs dürfen nur Unique sein, also 3 mal "1" ist definitiv nicht gut und die andere Frage: warum nicht so: HTML-Code: <div style="display:block;" id="1"> <div style="display:block;"> <div>Hier<br>Steht<br>eine<br>Adresse<br>drin 1<br></div> </div> <div style="display:block;"> <div>Hier<br>Steht<br>eine<br>Adresse<br>drin 2<br></div> </div> <div style="display:block;"> <div>Hier<br>Steht<br>eine<br>Adresse<br>drin 3<br></div> </div> </div>
__________________ I did it my way - Senseless-Blog |
| | |
| | Nach oben #3 |
| Sven Schmalle Registriert seit: 18.08.2005 Ort: Bremen
Beiträge: 149
|
Weil die DIVs alle nicht zusammenhängend sind sondern nur als Adress-DIVs in einer tabellarischen Auflistung dienen. Da ich in einer Tabelle keine TD´s ein und ausblenden kann, wollte ich es mit DIVs machen. |
| | |
| | Nach oben #4 |
| Oliver O. Registriert seit: 17.08.2005
Beiträge: 426
|
wie wäre es mit document.getElementsByName?? gib den divs einen namen, und nimm den script hier: Code: <script>
function toggle_button(name)
{
if(document.getElementsByName(name).style.display == 'block')
{
document.getElementsByName(name).style.display='none';
}
else
{
document.getElementsByName(name).style.display='block';
}
}
</script>
#Ungetestet
|
| | |
| | Nach oben #5 |
| Sven Schmalle Registriert seit: 18.08.2005 Ort: Bremen
Beiträge: 149
|
ah... das hatte ich schon gestestet, da meinte er das es die Eigenschaft nicht gibt. Aber ich hatte GetElementByName - da fehlte ein s drin... ich versuchs nochmal, danke mhm... geht nicht Fehler: document.getElementsByName(name).style has no properties Quelldatei: file:///C:/Dokumente%20und%20Einstellungen/Sven/Desktop/test.html# Zeile: 6 Geändert von Sclot (29.11.2006 um 12:22 Uhr). |
| | |
| | Nach oben #6 |
| Oliver O. Registriert seit: 17.08.2005
Beiträge: 426
|
Also gut. dann hätte ich hier ne zweite lösung, die vielleicht nicht sooo toll ist: Code: <html>
<head>
<script>
function toggle_button(name)
{
var els = document.anchors;
for(var i = 0; i < els.length; i++){
var el_name = els[i].name;
if(el_name == name){
if(els[i].style.display == 'block')
{
els[i].style.display='none';
}
else
{
els[i].style.display='block';
}
}
}
}
</script>
</head>
<div>
<a href="#" onClick="javascript:toggle_button('1');">Ein/ausblenden </a>
</div>
<a style="display:block;" name="1">
<div>
Hier
<br>Steht
<br>eine
<br>Adresse
<br>drin 1
<br>
</div>
</a>
asdfasdf
<a style="display:block;" name="1">
<div>
Hier
<br>Steht
<br>eine
<br>Adresse
<br>drin 2
<br>
</div>
</a>
asdfasdf
<a style="display:block;" name="1">
<div>
Hier
<br>Steht
<br>eine
<br>Adresse
<br>drin 3
<br>
</div>
</a>
</html>
Eigenldich würde es jetzt auch mit ids funktionieren, aber das ist sehr hässlich dann wenn du jetzt für die links im css (wenn du sowas benutzt) eigenschaften gesetzt hast, dann musst du nur statt a{} a:link{} schreiben, und alles sieht aus wie vorher, außer, du hast die farbe des textes geändert... (als beweiß, dass es geht, hab ich noch paar buchstaben zwischen die link-elemente geschrieben) Geändert von Xean (29.11.2006 um 12:43 Uhr). |
| | |
| | Nach oben #9 |
| Johannes Müller Registriert seit: 15.09.2005 Ort: Königreich Flieden
Beiträge: 521
|
also diese lösung finde ich noch nicht optimal. denn das name-attribut sollte eigentlich auch eindeutig sein. korrekterweise muss in diesem fall das class-attribut verwendet werden. javascript Code:
__________________ Weißt Bescheid - Scheiß wie weit |
| | |
![]() |
| Lesezeichen |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Höhe von div verändern, divs darunter je nach Größe verschieben | buddy_casino | JavaScript und AJAX | 13 | 17.09.2007 12:49 |
| mehrere Divs untereinander mit abschließenden DIV | suppenmann | HTML, XML und CSS | 9 | 02.12.2006 16:14 |
| Zwei divs - ein Problem | Jan | HTML, XML und CSS | 4 | 14.03.2006 17:30 |
| Mindestgröße für DIV's | Jan | HTML, XML und CSS | 10 | 05.03.2006 17:44 |
| Soetwas wie <legend> für divs ? | robo47 | HTML, XML und CSS | 14 | 09.10.2005 23:11 |