ERLEDIGT
JA
JA
ANTWORTEN
2
2
ZUGRIFFE
506
506
EMPFEHLEN
-
01.06.07 10:52 #1
- Registriert seit
- Oct 2003
- Ort
- Bayern
- Beiträge
- 182
Hallo, ich hab mal wieder eine Frage.. :-/
Ich blende auf meiner Site verschiedene div's per JavaScript ein bzw. aus.
Das JS dafür schaut so aus:
Im html wird es so aufgerufen:Code :1 2 3 4 5 6 7 8
function fadeIn(targetID) { obj = document.getElementById(targetID); obj.style.display = 'block'; } function fadeOut(targetID) { obj = document.getElementById(targetID); obj.style.display = 'none'; }
Nun habe ich aber mehrere Layer an derselben Stelle, die alle so eingefadet werden können. Ich möchte aber nicht, dass 2 Layer gleichzeitig eingeblendet sind.Code :1 2 3 4
<a href="#" onclick="fadeIn('meinlayer')"> <div id="meinlayer" style="display:none;"> <a href="#" onclick="fadeOut('meinlayer')">close</a> </div>
Also müsste ich im JS beim fadeIn eine Abfrage in der Richtung
if(irgendein Layer hat display:block){
fadeOut(alle sichtbaren)
fadein(den geklickten)
}
Leider weiss ich nicht wie das konkret in Code umzusetzen ist.
Bitte helft mir!!
-
Du könntest bei Einblenden die ID des eingeblendeten Elementes in einer Variablen speichern.
Diese Variable setzt du eingangs auf "false".
Willst du dann etwas einblenden, und diese Variable ist nicht "false", und sie ist nicht identisch mit der ID des einzublendenden Layers, dann blendest du den Layer mit dieser ID aus.
-
04.06.07 18:04 #3
- Registriert seit
- Oct 2003
- Ort
- Bayern
- Beiträge
- 182
Hi Sven!
Danke für Deine Anregung!
Die Richtung ist glaub ich richtig. Ich hätte da aber 2 Fragen:
Wo deklariere ich die Variable mit init-Wert false? Muss ich die ins html-Dokument reinschreiben oder 'darf' ich die auch in meiner ausgelagerte .js deklarieren?
Und zweitens- es könnte ja auch passieren, dass auch mehrere Ebenen auf einmal eingeblendet sind. Wie könnt ich das denn umgehen?
//EDIT: Ups sorry, Denkfehler. Wenn ich nen Layer einblende checke ich ja immer, ob schon einer offen ist. Daher kann ja zu keiner Zeit ein zweiter offen sein. Wie peinlich!
// NOCHMAL EDIT: Inzwischen hab ichs doch hinbekommen. Trotz nicht vorhandenem Schlag auf den Hinterkopf hat sich mein Denkvermögen wohl dramatisch erhöht gerade eben
Falls irgendwann mal jemand ein ähnliches Problem hat (gerne auch zur Korrektur
) poste ich hier mal meine Lösung:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13
var opn = false; function fadeIn(targetID) { if(opn != false) { opn.style.display = 'none'; } obj = document.getElementById(targetID); obj.style.display = 'block'; opn = obj; } function fadeOut(targetID) { obj = document.getElementById(targetID); obj.style.display = 'none'; }Geändert von herrgarnele (04.06.07 um 18:28 Uhr)
Ähnliche Themen
-
DIVs ausblenden
Von Stelo im Forum Javascript & AjaxAntworten: 12Letzter Beitrag: 20.05.10, 12:54 -
OnClick - 2 Divs ausblenden, 1 Div einblenden
Von waswiewo im Forum Javascript & AjaxAntworten: 2Letzter Beitrag: 17.05.10, 20:20 -
DIVs via JS ausblenden
Von aargau im Forum Javascript & AjaxAntworten: 10Letzter Beitrag: 26.06.08, 10:24 -
Spalte ausblenden (Toggle) mit DIVs simulieren
Von uprocka im Forum Javascript & AjaxAntworten: 3Letzter Beitrag: 17.04.07, 19:05 -
Mehrere Text-divs ausblenden...
Von stefancp im Forum Javascript & AjaxAntworten: 1Letzter Beitrag: 01.11.05, 13:40





Zitieren
Login





