WinFuture-Forum.de: Javascript Alle 60 Sec Wiederholen - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

Javascript Alle 60 Sec Wiederholen


#1 Mitglied ist offline   mobile 

  • Gruppe: aktive Mitglieder
  • Beiträge: 27
  • Beigetreten: 20. September 07
  • Reputation: 0

geschrieben 30. November 2007 - 17:32

Hallo,

eine kurze frage ich habe 4 frames, in einem frame habe ich einen dic container in dem ich 3 scripte je in <span> laufen lasse:

<!--div für die Datumsinformationen//-->
<div id="date">
<span class="akt"><script>wtag()</script></span>
<span class="akt"><script>date()</script></span><br />
<span class="akt"><script>zeit()</script></span>
</div>

Das Script mit der funktion zeit() sol ljetzt alle 60 sec wieder neu aufgerufen werden. Das Prolem ist, wenn ich das Script setTimeout machen dann läd er nicht mehr das ganze frame sondern nur noch die Uhrzeit, das bringt mir ja nichts.

Also wie kann ich es anstellen, dass ich alle 60sec nur das eine Script neu aufrufe? Weiß wie ich den Text in Formular Felder ausgeben kann, da ich die ja über id"." direkt ansprechen kann aber wie sieht das hier aus?

Wenn das nicht geht, nehme ich auch gerne ein Script, was mir eben das ganze Frame alle 60sec neu lädt is zwar etwas blöde aber naja...
0

Anzeige



#2 Mitglied ist offline   Memorex 

  • Gruppe: aktive Mitglieder
  • Beiträge: 207
  • Beigetreten: 24. Dezember 03
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Karlsruhe

geschrieben 15. Dezember 2007 - 13:39

Hi bin mir nicht ganz sicher aber vieleicht geht es ja mit einem Cronjob
0

#3 Mitglied ist offline   dblay 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.246
  • Beigetreten: 18. März 07
  • Reputation: 1

geschrieben 15. Dezember 2007 - 17:45

Hallo,

du musst den Inhalt des Spans per DOM-Scripting dynamisch verändern, sonst klappt das ganze nicht.

Ich gehe mal davon aus, dass deine Funktion zeit() ihre Ausgabe per document.write() tätigt. Das funktioniert jedoch nur - wie du schon bemerkt hat - wenn das Dokument geladen wird, ansonsten überschreibt die Ausgabe von document.write() den Inhalt des Dokuments.

Du musst folglich den Textknoten des span-Elements manipulieren. Dazu solltest du als erstes dem "Zeit-span" eine id zuweisen, bspw. zeitAusgabe.

Dann entfernst du das Script aus dem span. Anstelle dessen fügst du ein geschütztes Leerzeichen ein, um den Textknoten des span vorab zu initialisieren. (Ansonsten müsste das Script dies übernehmen)

<span id="zeitAusgabe" class="akt">&nbsp;</span>


Die Funtkion zeit() musst du nun dahingehend ändern, dass die Zeit nicht via document.write(jetzt), sondern per document.getElementById("zeitAusgabe").firstChild.nodeValue = jetzt ausgegeben wird. (jetzt steht hier für den Wert, den deine Funktion zuvor für die aktuelle Zeit ermittelt hat.)

Jetzt kann sich die Funktion auch alle 60 Sekunden via window.setTimeout() selbst aufrufen, um die Zeit zu aktualisieren.

Zum Schluss musst du die Zeitausgabe natürlich noch initialisieren; dies machst du einfach mit dem Befehl window.onload = zeit;, welchen du unter deine Funktion schreibst.

Dieser Beitrag wurde von dblay bearbeitet: 15. Dezember 2007 - 17:47

Zeit ist, was verhindert, dass alles gleichzeitig passiert.
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0