Probleme bei display: none/block

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Servus Jungs,
    Ich versuche die ganze Zeit ein JavaScript zu erstellen, dass folgendes macht:
    Ich besitze z.B. 3 Links, die die 3 <div>-tags mit mit none/block steuern. Also "einzeigen" oder "verschwinden".
    Ich will jetzt aber, dass wenn ich Link-1 klicke, der <div>-Tag-1 auf "block" schaltet, aber <div>-Tag-2 auf "none" und <div>-Tag-3 auch auf "none".
    Und das immer so weiter (Link 2 => <div>-2 auf "block"; <div>-1 auf "none"; <div>-3 auf "none"; uws...)
    Ich will sozusagen einen "switch"-Effekt erreichen, aber leider schaff ich das nicht zu programmieren.
    Hoffentlich kann mir jemand dabei helfen, denn ich will diesen Effekt unbedingt haben.
    Vielen Dank im Vorraus!
    Gruss
  • Hallo!
    Hab ähnliches schon mal gemacht: Habe per Javascript/DOM CSS-Attribute dynamisch verändert. das lebende Beispiel siehst du auf <a href='http://www.kdn-hanau.de' target='_blank'>http://www.kdn-hanau.de</a> . Die linke Navigationsleiste hat einen über Javascript/DOM realisierten Mouseover-Effekt. Such im Quelltext mal nach den Javascript-Funktionen "over" und out". Die machen genau das was du haben willst. Musst nur andere Attribute verwenden, nämlich display. Und dann schau dir an wie sie aufgerufen werden. Über "this" wird das Element an die Funktion übergeben. Die Bezeichnung "nummer" für das Funktionsparameter (so nennt man das doch, oder?) ist ein Relikt aus alten Zeiten, wo ich die Nummer manuell - also nicht über "this" - übergeben hatte. Das sollte dich also nicht irritieren.
  • Hi,
    nach langer suche habe ich endlich das Script gefunden, dass ich brauche.

    Es heißt:

    Quellcode

    1. function goMore(obj){
    2. if(document.getElementById){
    3. var el = document.getElementById(obj);
    4. var ar = document.getElementById("scroll").getElementsByTagName("div");
    5. if(el.style.display != "block"){
    6. for (var i=0; i<ar.length; i++){
    7. if (ar[i].getElementsByTagName("a"))
    8. ar[i].style.display = "none";
    9. }
    10. el.style.display = "block";
    11. }else{
    12. el.style.display = "block";
    13. }
    14. }
    15. }
    Alles anzeigen


    Jedenfalls, Danke für die Hilfe!

    Gruss