2 div gleichzeitig öffnen
paul
- javascript
Hallo Leute,
ich hab ein Script mit dem ich ein Div öffnen kann und wenn ich ein zweites Div öffne sich das erste schließt. Soweit ist das alles ok.
Jetzt will ich aber das ich 2 Divs öffnen kann und beide sich auch wieder schließen wenn ich ein anderes öffne.
Jetzt weiß ich bloß nicht so recht wie ich das anstellen soll.
Bsp.: Ich will div0 und box0 (div was im css-script definiert ist) öffnen.
und wenn ich dann div1 sehen will schließt sich div0 und box0.
Hier mein Script:
-----------------
var box = new Array();
box[0] = 'div0';
box[1] = 'div1';
box[2] = 'div2';
box[3] = 'div3';
function show(id)
{
if(document.getElementById(id).style.display=="none")
{
for(i=0;i<box.length;i++)
{
document.getElementById(box[i]).style.display="none";
}
document.getElementById(id).style.display="block";
}
else
{
document.getElementById(id).style.display="none";
}
}
HTML Code:
----------
<body>
<div id="menu">
<a href="#" onClick="show('div0')">Fenster0</a><br>
<a href="#" onClick="show('div1')">Fenster1</a><br>
<a href="#" onClick="show('div2')">Fenster2</a><br>
<a href="#" onClick="show('div3')">Fenster3</a><br>
</div>
<div id="div0">Fesnter0</div>
<div id="div1">Fesnter1</div>
<div id="div2">Fesnter2</div>
<div id="div3">Fesnter3</div>
<div id="box0">Bild</div>
</body>
Ideen:
------
<a href="#" onClick="show('div0','box0')">Fenster0 und Box0</a><br>
Hab schon das probiert aber das wollte nicht klappen, ich denke mal das ich was in dem Script selber verändern muss aber ich weiß nicht so recht was.
Vielen Dank
mfg Paul
Du solltest Dein Script so umstellen, dass es ein Array mit den divs, die angezeigt werden sollen, als Parameter übernimmt.
Gruß, LX
Du solltest Dein Script so umstellen, dass es ein Array mit den divs, die angezeigt werden sollen, als Parameter übernimmt.
oder alternativ im onlick die funktion einfach 2x aufrufen ;)
als das mit der onklick funktion 2mal aufrufen kling gut, aber wie mach ich.
Meine JavaScript Kenntnisse sind begrenzt.
Wär gut wenn ihr einfach den Befehl den ich ändern muss aufschreiben könntet, das ich ungefähr weiß wie ich das anhaben muss
mfg
Mahlzeit paul,
als das mit der onklick funktion 2mal aufrufen kling gut, aber wie mach ich.
Ganz einfach: Du rufst die Funktion beim "onclick" zweimal auf.
Meine JavaScript Kenntnisse sind begrenzt.
Das macht nichts. Bis zwei zählen kannst Du aber?
Wär gut wenn ihr einfach den Befehl den ich ändern muss aufschreiben könntet, das ich ungefähr weiß wie ich das anhaben muss
Also - ich kombiniere mal suits "im onlick die funktion einfach 2x aufrufen" mit Deinem ursprünglichen Quellcode:
<a href="#" onClick="show('div0')">Fenster0</a><br>
<a href="#" onClick="show('div0','box0')">Fenster0 und Box0</a><br>
Tadaaa:
<a href="#" onclick="show('div0'); show('box0');">Fenster0 und Box0</a><br>
Achja, eine Frage noch: Was soll da überhaupt der Link? Ein Link ist ein Link ist ein Link. Wenn er nicht linkt, ist er kein Link. Da der Verweis nirgendwo hinführt, ist er fehl am Platz. Überlege, ob Du nicht lieber ein anderes Element verwenden solltest.
MfG,
EKKi
Achja, eine Frage noch: Was soll da überhaupt der Link? Ein Link ist ein Link ist ein Link. Wenn er nicht linkt, ist er kein Link. Da der Verweis nirgendwo hinführt, ist er fehl am Platz. Überlege, ob Du nicht lieber ein anderes Element verwenden solltest.
was ekki damit sagen will: onclick funktioniert überall, auch auf span-, img- oder p-elementen - vollig egal ;) - für einen nichtssagenden javascript-verweis eignet sich zb ein element, welches erst durch javascript erzeugt wird
Mahlzeit suit,
was ekki damit sagen will: onclick funktioniert überall,
http://de.selfhtml.org/html/referenz/attribute.htm#universalattribute@title=Falsch. ;-)
MfG,
EKKi
http://de.selfhtml.org/html/referenz/attribute.htm#universalattribute@title=Falsch. ;-)
i-tüpfler-reiter ;) - aber du hast recht
ich hätte quasi überall oder "überall" schreiben sollen :p
Mahlzeit suit,
http://de.selfhtml.org/html/referenz/attribute.htm#universalattribute@title=Falsch. ;-)
i-tüpfler-reiter ;) - aber du hast recht
Natürlich hab ich das ;-) ... woanders hat man mich schon "Oberhaarspalter" getauft.
MfG,
EKKi