Micky: Mehrere Functions schließen sich aus

Hi Leute,

stehe am Anfang von JS und versuche grad hier was umzusetzten: http://shyne.sh.funpic.de/privat/test/

Ich habe einen doofen Titel, aber ich bin noch zu wenig in der Materie um es vernünftig ausdrücken zu können.

Ich möchte, dass verschiedene Boxen aufklappen, was auch klappt. Das geschieht indem ich Body verschiedene Klassen zuweise und in der CSS Datei definier, wie sich die Boxen verhalten sollen.

<script type="text/javascript">  
function BlendeEin1 ()  
{  
  document.body.className += "einblenden_oben_links";  
}  
  
function BlendeEin2 ()  
{  
  document.body.className += "einblenden_oben_rechts";  
}  
  
function BlendeEin3 ()  
{  
  document.body.className += "einblenden_unten_links";  
}  
  
function BlendeEin4 ()  
{  
  document.body.className += "einblenden_unten_rechts";  
}  
</script>  

Mein Problem ist, dass wenn man auf die eine Box klickt, die andere zugeht und vor allem beim widerholten Klick keines von diesen mehr aufgeht.

Was muss ich tun, damit die Boxen _aufbleiben_ (und bei Klicks unendlich auf und zu gehen können --> erstmal unwichtig).

Es ist mein JS Tag, also bitte so simple wie nur möglich.

Danke!

  1. Hi,

    Es ist mein JS Tag, also bitte so simple wie nur möglich.

    Du hast einfach keine Styles mit z.B. der HTML-Klasse "einblenden_oben_linkseinblenden_unten_linkseinblenden_unten_linkseinblenden_unten_links" verknüpft.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. »» Es ist mein JS Tag, also bitte so simple wie nur möglich.

      Du hast einfach keine Styles mit z.B. der HTML-Klasse "einblenden_oben_linkseinblenden_unten_linkseinblenden_unten_linkseinblenden_unten_links" verknüpft.

      Hi,

      da oben fehlt "erster" JS Tag :D

      Es wäre nett, wenn du mir helfen mögen würdest ;)

      Ich brauche eine JS Lösung, die sich in der Praxis einsetzten lässt.

      Danke

      1. Hi!

        » Du hast einfach keine Styles mit z.B. der HTML-Klasse "einblenden_oben_linkseinblenden_unten_linkseinblenden_unten_linkseinblenden_unten_links" verknüpft.

        Es wäre nett, wenn du mir helfen mögen würdest ;)

        Hat er doch schon - es ist eben Cheatahs spröder Charme, den nicht jeder gleich mag. Owohl er Hilfestellungen gibt, merkt man es manchmal nicht.

        Wenn du Dich darauf einlassen magst und dein SELF dazu beiträgst sind seine Beiträge sehr wertvoll.

        Ich brauche eine JS Lösung, die sich in der Praxis einsetzten lässt.

        Dann versuche zu ergründen, was der Operator '+=' tut.
        Mir ist es gleich..

        off:P'scnr'P

        --
        "You know that place between sleep and awake, the place where you can still remember dreaming?" (Tinkerbell)
        1. Wenn du Dich darauf einlassen magst und dein SELF dazu beiträgst sind seine Beiträge sehr wertvoll.

          Ich verstehe dann wohl nicht genau was er meint oder mache beim Denken einen logischen Fehler. Bräcuhte mehr Tipps. Das SELF wird für jeden Buchstaben genutzt. Das sind meine ersten Geheversuche mit JS und zimelich anstrengend, mach dir um meine Unterforderung keine Sorgen ;)

          Dann versuche zu ergründen, was der Operator '+=' tut.

          Die besonderen Notationen, die in den obigen Beispielen vorkommen, können Sie verwenden, wenn Sie Additionen oder Subtraktionen abkürzen wollen:
          Zahl += 3; ist eine Abkürzung für Zahl = Zahl + 3;

          Richtig?

          1. Hi!

            » Dann versuche zu ergründen, was der Operator '+=' tut.

            Die besonderen Notationen, die in den obigen Beispielen vorkommen, können Sie verwenden, wenn Sie Additionen oder Subtraktionen abkürzen wollen:
            Zahl += 3; ist eine Abkürzung für Zahl = Zahl + 3;

            Richtig?

            Ja und im Kontext von Strings erreichst Du mit diesem Operator die, von Cheatah erwähnte, 'Textwurst'. Das willst Du aber nicht.

            Du möchtest doch die Klasse ändern und nicht erweitern, so dass ein (unbekannter) Klassenname entsteht: kill das '+'..

            off:PP

            --
            "You know that place between sleep and awake, the place where you can still remember dreaming?" (Tinkerbell)
            1. Ja und im Kontext von Strings erreichst Du mit diesem Operator die, von Cheatah erwähnte, 'Textwurst'. Das willst Du aber nicht.

              Du möchtest doch die Klasse ändern und nicht erweitern, so dass ein (unbekannter) Klassenname entsteht: kill das '+'..

              Danke!

              Das Problem war, dass ich kein Leerzeichen hatte. Das "+" stört mich in so fern nicht, dass die anderen Boxen offen bleiben sollen. Obwohl, dein Tipp auch zu einem interessanten Ergebnis führt. Ich werde mir mal überlege, ob ich + nutze oder nicht.

              Auf jeden Fall: Merci :)

              1. Hi!

                Das Problem war, dass ich kein Leerzeichen hatte. Das "+" stört mich in so fern nicht, dass die anderen Boxen offen bleiben sollen. Obwohl, dein Tipp auch zu einem interessanten Ergebnis führt. Ich werde mir mal überlege, ob ich + nutze oder nicht.

                Du kanst einem Element natürlich auch mehrere Klassen zuweisen, das habe ich aber so nicht aus deinem Posting heraus gelesen.

                Auf jeden Fall: Merci :)

                De rien - bonne nuit;)

                off:PP

                --
                "You know that place between sleep and awake, the place where you can still remember dreaming?" (Tinkerbell)
      2. Hallo Mike,

        mit dem "+"-Operator klebst du Strings ohne irgendetwas dazwischen direkt aneinander:
        x  = "a";  // -> x enthält "a"
        x += "b";  // -> x enthält "ab"
        x += " c"; // -> x enthält "ab c"

        kopiere die folgende Zeile einfach mal in die Adresszeile deines Browsers:

        javascript:alert("a" + "b");alert("a" + " b");

        Gruß, Jürgen

        1. mit dem "+"-Operator klebst du Strings ohne irgendetwas dazwischen direkt aneinander:
          x  = "a";  // -> x enthält "a"
          x += "b";  // -> x enthält "ab"
          x += " c"; // -> x enthält "ab c"

          kopiere die folgende Zeile einfach mal in die Adresszeile deines Browsers:

          javascript:alert("a" + "b");alert("a" + " b");

          Ich lieb dich Jürgen :D
          Danke. Der Fehler war sogar quasi absichtlich von mir verursacht, weil man mir es richtig vorgemacht hatte und ich hielts für einen Schreibfehler. So lernt man aber Styp by Step dazu.

          Ich bin echt froh, dass es auch Coder wie dich gibt, mit dem höchsten Ziel, Jemanden wirklich zu helfen und ihm etwas beizubringen.

          Great!