ivanfinster: hilfe? bei zufälliger textausgabe, funktion mit setTimeout()

hi leute
vielleicht kann mir ja einer von euch helfen,
unten stehender quelltext soll einen von mehrere sprüchen zufällig auswählen und diese anzeigen.
nach 5 sek soll der spruch geändert werden, d.h. die funktion soll neu aufgerufen werden.
die funktion wird genau 2 mal durchlaufen was logisch klingt, aber nach dem 2. mal und zwar nach 5 sek erscheint ne fehlermeldung das ein objekt an position zeile 1 zeichen 1 erwartet wird.

grrr, ich krieg das einfach nich hin, ohne die sprüche in banner zu packen, was ich nich will.

bitte!!! kann mir einer helfen?
oder wenigstens einen grund nennen warum das nich funzen kann?

danke!!!

<!doctype html public "-//W3C//DTD HTML 4.0 //EN">
<html>
<head>
<title>tete</title>
<meta name="author" content="admin">
<meta name="generator" content="Ulli Meybohms HTML EDITOR">
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
</head>
<body text="#000000" bgcolor="#FFFFFF" link="#FF0000" alink="#FF0000" vlink="#FF0000">
<script type="text/javascript">
<!--
var t = 5;
function spruch()
{
// zufallsauswahl und anzeigen einer von vier ausgaben
var i = parseInt((Math.random() * 100) % 4);
switch (i) {
        case 0: document.write("finster");break;
        case 1: document.write("ist");break;
        case 2: document.write("das");break;
        case 3: document.write("leben");break;
}
//beenden der funktion "spruch" nach t*1000 millisek
  setTimeout("spruch()", t*1000);
}
// neuaufruf der funktion "spruch"
spruch();
//-->
</script>
<noscript></noscript>
</body>
</html>

  1. switch (i) {
            case 0: document.write("finster");break;
            case 1: document.write("ist");break;
            case 2: document.write("das");break;
            case 3: document.write("leben");break;

    Danach ist das Dokumnet neu beschrieben und das Skript ist weg.
    Du hast jetzt drei Möglichkeiten:

    a.) benutzt ein Frameset
    b.) benutze und beschreibe Layer
    c.) benutze ein Formulbutton zum neu beschriften.

    Struppi.

    1. danke erstmal für die schnelle antwort
      aber wie meinst du das mit dem frame?
      als endergebnis sollen die sprüche im kopf_frame erscheinen ich habs nur noch nich eingebaut weil ich dachte das lässt sich auch inner seite darstellen.

      1. danke erstmal für die schnelle antwort
        aber wie meinst du das mit dem frame?
        als endergebnis sollen die sprüche im kopf_frame erscheinen ich habs nur noch nich eingebaut weil ich dachte das lässt sich auch inner seite darstellen.

        Du machst das Skript in ein anderes Frame (oder in die Framesetdatei) und beschreibst von dort aus das Inhaltsframe neu, wie das geht steht irgendwo in slefHTML.

        Struppi.

        1. ok danke Struppi

          ich versuchs!

  2. Hi ivanfinster
    Ich bin mir da nicht ganz sicher (nur noch selten mit JS zu tun)
    aber ich meine mich zu erinnern, daß der funktionsaufruf per OnLoad in den <body> tag geschrieben werden sollte.
    Vielleicht liegts ja daran.
    mfg Joey

    1. danke
      hab ich versucht das ergebnis ist das selbe,
      nur das die funktion dann nur einmal aufgerufen wird.