Nitram-X: Variable aus Funktion an globale Variable übergeben?

Hallo

Ich habe eine Variable x auserhalb einer Function erstellt und möchte diese aber beim Durchlauf einer Function (mehrmals) ändern und diese dann im Body ausgeben: ...document.write(x);

Doch ständig wird undefined ausgegeben.
Dazu muss ich noch sagen: Ich bin Anfänger und verstehe das Thema mit den Rückgabewerten bzw. return nicht so richtig.

mfg
Nitram

  1. hi,

    Ich habe eine Variable x auserhalb einer Function erstellt und möchte diese aber beim Durchlauf einer Function (mehrmals) ändern und diese dann im Body ausgeben: ...document.write(x);

    Doch ständig wird undefined ausgegeben.

    Und jetzt sollen wir raten, was du falsch gemacht haben könntest?

    Nur so viel: document.write, nach dem initialen Aufbau der Seite aufgerufen, ersetzt das aktuelle Dokument.

    Dazu muss ich noch sagen: Ich bin Anfänger und verstehe das Thema mit den Rückgabewerten bzw. return nicht so richtig.

    Dann fang mit Grundlagen an: http://de.selfhtml.org/javascript/sprache/funktionen.htm

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. Und jetzt sollen wir raten, was du falsch gemacht haben könntest?

      nein, der Code sieht in etwa so aus:

      var chat

      function astro_chat() {
      chat = "houston, we have a problem"
      document.getElementById("astro_box").style.visibility = "visible";
      setTimeout('document.getElementById("astro_box").style.visibility = "hidden";',3000)
      chat = "why?"
      setTimeout('document.getElementById("houston").style.visibility = "visible";',3500)
      setTimeout('document.getElementById("houston").style.visibility = "hidden";',5000)
      }
      .
      .
      .
      <div id="astro_box"><p id="bouble"><script type="text/javascript">document.write(chat)</script></p></div>
       <div id="houston"><script type="text/javascript">document.write(chat)</script></div>

      Nur so viel: document.write, nach dem initialen Aufbau der Seite aufgerufen, ersetzt das aktuelle Dokument.

      aha aha...?

      1. var chat

        Die Variable chat wird zwar initialisiert, ihr aber kein Wert zugewiesen. So lange du die Funktion "astro_chat" nicht aufrufst, ist ihr Wert "undefined".

        <div id="astro_box"><p id="bouble"><script type="text/javascript">document.write(chat)</script></p></div>

        Du willst vermutlich die Variable chat ausgeben, bevor ihr überhaupt irgendein Wert zugewiesen wird. Lösungsvorschlag: Weise ihr bereits in der Deklaration einen Initialwert zu, bspw. "Houston, ...". Zudem wird nur durch das Ändern einer CSS-Eigenschaft (hier visibility) der Elementinhalt nicht verändert. So, wie dein Code da steht, wird "Houston, ..." blinkern, nicht mehr und nicht weniger. Schau dir bitte in SELFHTML das Beispiel zum Ändern von Elementinhalten an, dort kannst du sehen, wie man Inhalte von HTML-Elementen dynamisch manipulieren kann.

        Siechfred

        --
        Ein Selbständiger ist jemand, der bereit ist, 16 Stunden am Tag zu arbeiten, nur um nicht 8 Stunden für einen Anderen arbeiten zu müssen.
  2. Gib uns Code ueber den wir motzen koennen!