URL: https://www.overclockers.at/coding-stuff/collapse_swap_199662/page_1 - zur Vollversion wechseln!
grüssi
ich hab hier eine kleine js funktion, bei ders leider ein problem gibt. auf http://claudiabeer.tendo.at/ gibts links die sterne die bei klick ein dann rechts ein image anzeigen. klarerweise werden zwei oder mehr bilder angezeigt wenn auf mehrere sterne geklickt wird. die frage ist, wie kann ich alle pics collapsen lassen, wenn ich ein neues anzeigen will.
Code: PHPfunction swap_extension(swap) { displayType = (document.getElementById(swap).style.display == 'none') ? 'block' : 'none'; document.getElementById(swap).style.display = displayType; }
"Collapse" ist wahrscheinlich das falsche Wort. Du meinst einfach wieder verschwinden lassen, oder?
Am einfachsten machst du einfach eine for-Schleife von 1-Anzahl der Bilder und bastelst den Namen des Bildes selber zusammen und machst dann ein: document.getElementById('bild' + i).style.display = 'none'
Es gibt natürlich 100 schönere Varianten, die um einiges allgemeiner und damit HTML-seitig flexiber sein können.
würd ich auch nur ein wort verstehn wär mir damit geholfen (i know, klingt aggressiv und dämlich
ich hab leider wirklich null ahnung von der materie, also wärs ein bisschen detailierter schön.
falls wer mal kurz per icq/skype oder wwi zeit haben sollte wär ich dankbar für jede hilfe (biederndorfer schatzi eingeschlossen)
@collapse
war mir klar, wusste nur nicht wie ich es verständlicher formulieren soll.
hmm ich versuchs mal
Eine Möglichkeit wäre: du gibst deinen images im html code z.b. immer den gleichen Klassennamen oder Namen je nach Wunsch(den (Klassen)namen dann im weiteren html nicht mehr verwenden sonst lässt er diese Objekte auch verschwinden)
z.b.
<img src="image1.gif" class="fasel" alt=".." />
<img src="image2.gif" class="fasel" alt=".." />
den JS Code erweiterst du um :
Code: PHPfunction swap_extension(swap) { var allImages = document.getElementsByClassName('fasel'); for(i=0; i<allImages.length; i++ ) { allImages[i].style.display = 'none'; } displayType = (document.getElementById(swap).style.display == 'none') ? 'block' : 'none'; document.getElementById(swap).style.display = displayType; }
perfekt, danke. werds ausprobiern sobald ich zuhause bin.
seh ich das richtig, dass das skript einfach alle bilder mit einer länge größer als i auf display:none setzt?
nur damit ich das auch richtig versteh. ist ja immer gut zu wissen, was da eigentlich abläuft.
nochmal vielen dank
Zitat von hynkperfekt, danke. werds ausprobiern sobald ich zuhause bin.
seh ich das richtig, dass das skript einfach alle bilder mit einer länge größer als i auf display:none setzt?
nur damit ich das auch richtig versteh. ist ja immer gut zu wissen, was da eigentlich abläuft.
nochmal vielen dank
verstehe. danke nochmal
overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025