Display von div Containern verändern
Anschinsan
- javascript
0 Cybaer0 wahsaga0 Anschinsan0 Cybaer
0 MudGuard
Hallo Experten,
Ich habe einige Formulare, neben denen ein oder mehrere div Container der Klasse .help platziert sind. CSS ID's sind nicht möglich, weil ich oft mehrere Container dieser Klasse brauche.
Diese Container würde ich gerne auf Klick auf einen Link einblenden, also folgende CSS Eigenschaft verändern: .help {display:normal;}. Das Display der Klasse .help ist als default Wert im header der Datei auf {display:none;} gesetzt.
Mit Klick auf einen 2 Link "ausblenden" sollen die Container wieder verschwinden. Mit meiner bisherigen Lösung wird die Seite neue aufgerufen, also alle Angaben in den Formularen gelöscht. Das ist natürlich eine schlechte Hilfe ;-((
Ich bitte um Tipps oder Tricks...
mfg
Anschinsan
Hi,
Ich bitte um Tipps oder Tricks...
Coding: Darstellungswechsel - Un-/Sichtbare Elemente: Ein-/Ausklappen, Verstecken, Transparenz, Farbe sei Dir als Lektüre empfohlen. ;-)
Gruß, Cybaer
hi,
Mit meiner bisherigen Lösung wird die Seite neue aufgerufen, also alle Angaben in den Formularen gelöscht.
ja dann schreib doch einfach die daten wieder in die felder rein (setzt voraus, dass du das formular abschickst, um die seite zu wechseln).
ist dir das prinzip des affenformulars bekannt?
gruß,
wahsaga
Hallo Wahsaga und Cybaer,
Danke für eure Hilfe.... Ich bin zwar bei toogle script fast aus den Latschen gekippt vor soviel Programmcode, aber ich habe dazugelernt ;-)
Eine Lösung hab ich auch gefunden, sogar recht einfach, wenn auch schonÄlter. Für interessierte Leute:
http://www.webwork-community.net/posting1225_24_0.html
mfg
Anschinsan
Hi,
http://www.webwork-community.net/posting1225_24_0.html
Vermutlich/hoffentlich:
function aendern(welchertag, class1, class2, linkgeklickt, linknormal, thus) {
var rows = document.getElementsByTagName(welchertag);
for(var i=0; i<rows.length; i++) {
if (rows[i].className==class1) {
rows[i].className=class2;
thus.innerHTML = linkgeklickt;
} else {
if (rows[i].className==class2) {
rows[i].className=class1;
thus.innerHTML = linknormal;
}
}
}
}
für
<a href="#" onclick="aendern('tagname', 'alteklasse', 'neueklasse', 'neuerlink', 'alterlink', this)">
?! :-)
Für TRs ist es allerdings, anders als angegeben, so nicht zu gebrauchen. Für DIVs reicht's. :-) Und natürlich sollte noch abgefragt werden, ob der Browser das überhaupt unterstützt. 8-)
Und warum man ein href="#" onclick so nicht machen sollte, steht ja auch hinlänglich in hiesigem Archiv ... ;-)
Gruß, Cybaer
Hi,
also folgende CSS Eigenschaft verändern: .help {display:normal;}.
Was soll das sein? normal ist jedenfalls kein zulässiger Wert für display.
cu,
Andreas
Hi,
Was soll das sein? normal ist jedenfalls kein zulässiger Wert für display.
Ist bestimmt keine Absicht, dürfte aber seinen Zweck ggf. erfüllen. ;->
Bei unbekannten Werten wird IIRC der Default-Wert genommen. Und bei display verwendet der IE ja mitunter Default-Werte jenseits der Norm, bei denen korrekte Browser verzweifeln. :-/
Gruß, Cybaer