Antwort
 
Themen-Optionen Thema durchsuchen
Alt 29.11.2006, 11:40 Nach oben    #1
Sven Schmalle
 
Benutzerbild von Sclot
 
Registriert seit: 18.08.2005
Ort: Bremen
Beiträge: 160
Standard Mehrere Divs ein/ausschalten

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
Sclot ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 29.11.2006, 11:51 Nach oben    #2
Martin Breuer
 
Benutzerbild von WarrenFaith
 
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.653
Standard

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
Weihnachtsgeschenk? Schülern helfen - Bodypainting Kalender für 2009
WarrenFaith ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 29.11.2006, 12:09 Nach oben    #3
Sven Schmalle
 
Benutzerbild von Sclot
 
Registriert seit: 18.08.2005
Ort: Bremen
Beiträge: 160
Standard

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.
Sclot ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 29.11.2006, 12:14 Nach oben    #4
Oliver O.
 
Benutzerbild von Xean
 
Registriert seit: 17.08.2005
Beiträge: 427
Standard

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
Xean ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 29.11.2006, 12:15 Nach oben    #5
Sven Schmalle
 
Benutzerbild von Sclot
 
Registriert seit: 18.08.2005
Ort: Bremen
Beiträge: 160
Standard

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)
Sclot ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 29.11.2006, 12:41 Nach oben    #6
Oliver O.
 
Benutzerbild von Xean
 
Registriert seit: 17.08.2005
Beiträge: 427
Standard

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>
statt divs hab ich links benutzt, die man ganz einfach mit document.anchors ansprechen kann. und wenn ich dann überbrüfe, ob der name stimmt, dann wird der display-zustand geändert.
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)
Xean ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 29.11.2006, 12:46 Nach oben    #7
Sven Schmalle
 
Benutzerbild von Sclot
 
Registriert seit: 18.08.2005
Ort: Bremen
Beiträge: 160
Standard



ich teste...

mhm.. jow.. funktioniert - scheint brauchbar zu sein.

danke
Sclot ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 29.11.2006, 12:48 Nach oben    #8
Oliver O.
 
Benutzerbild von Xean
 
Registriert seit: 17.08.2005
Beiträge: 427
Standard

kein problem
Xean ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 02.12.2006, 15:44 Nach oben    #9
Johannes Müller
 
Benutzerbild von $traight-$hoota
 
Registriert seit: 15.09.2005
Ort: Königreich Flieden
Beiträge: 550
Standard

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:
  1. function toggle_button(name)
  2. {
  3.    var divs = document.getElementsByTagName('div');
  4.    for(var i = 0; i < divs.length; i++){
  5.       var div = divs&#91;i&#93;;
  6.       if(div.getAttribute('class') == name)
  7.          if(div.style.display == 'block'){
  8.             div.style.display='none';
  9.          }else{
  10.             div.style.display='block';
  11.          }
  12.       }
  13.    }
  14. }
__________________
Weißt Bescheid - Scheiß wie weit
$traight-$hoota ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
PingBacks sind an
RefBacks sind aus

Ä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


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:42 Uhr.


Powered by vBulletin® Version 3.7.4 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45