eulestern: Zufallstext

Ich möchte gerne auf einer Website einen Zufallstext anzeigen lassen. Das ist noch nciht mein Problem. Mein Problem ist es, dass ich nicht weiß, wie man es hinbekommt, einen Zufallstext anzuzeigen, der nur einmal angezeigt wird. Wäre soetwas evt. mit Cookies möglich? Das Script welches den Zufallstext anzeigt sieht so aus:

<SCRIPT LANGUAGE="Javascript"><!--
 function text() {
 };
 text = new text();
 number = 0;
 // textArray
 text[number++] = "Zufallstext 1"
 text[number++] = "Zufallstext 2"
 text[number++] = "Zufallstext 3"
 text[number++] = "Zufallstext 4"
 text[number++] = "Zufallstext 5"
 // Hier können weitere Texte angefügt werden...
 document.write(text[Math.floor(Math.random() * number)]);
 //--></SCRIPT>

Ich hoffe, dass jemand mir weiterhelfen kann,

eulestern

  1. Hello out there!

    <SCRIPT LANGUAGE="Javascript"><!--

    Fehler! JavaScript-Bereiche in HTML definieren

    Das 'language'-Attribut kommt in die Mülltonne, ebenso die Auskommentierung.

    function text() {
    };
    text = new text();

    ?? Warum das? Warum nicht so:

    var text = new Array();

    Ich hoffe, dass jemand mir weiterhelfen kann,

    Nein, ich weiß nicht, was dein Problem ist.

    See ya up the road,
    Gunnar

    --
    „Wer Gründe anhört, kommt in Gefahr nachzugeben.“ (Goethe)
    1. Also, ich möchte gerne auf einer Website ein Feld haben, in dem Witze stehen. Wenn ich nun z.B. 20 Witze hab und einen Aktualisieren Button da hab, möchte ich nicht, dass der Witz 1 kommt, dann der Witz 9, und dann wieder Witz 1.
      Ich hoffe ihr hab das jetzt verstanden,

      eulestern

      1. Moin

        Wenn du den

        Aktualisieren Button

        so gestaltest, dass nicht einfach die Seite neu geladen wird, sondern nur ein Teil des Seiteninhalts (der Witz) geändert wird
        (Beispiel:
        <p id="witz">Haha</p>
        "Haha" lässt sich ändern mittels
        document.getElementById("witz").firstChild.data="hoho";
        in "hoho")
        dann brauchst du bloß noch in einer weiteren Variablen zu speichern, welche Witze schon angezeigt wurden.

        Gruß
        rfb

        --
        Man kann einen Menschen nichts lehren, man kann ihm nur helfen, es selbst zu entdecken.
        (Galileo Galilei)
        1. Hallo rfb,

          dann brauchst du bloß noch in einer weiteren Variablen zu speichern, »» welche Witze schon angezeigt wurden.

          Ich kenne mich mit JavaScript nicht soo gut aus, und bitte dich, dass du mir mal ein Beispiel gibst, dass genau das macht. (müssen ja auch nur zwei Sachen sein) Den Rest würde ich dann auch selber hinbekommen.

          THX im Vorraus
          eulestern

          1. Moin

            so könnte sowas aussehen (statt eines Buttons einfach auf den angezeigten Witz klicken):

            <html>  
            <head>  
            <title>Ein Witz</title>  
            <script type="text/javascript">
            
            var witz={  
             liste:["kam ein ...","treffen sich ...","2 Informatiker ..","bei Microsoft ..."],  
             auswahl:function() {  
              var w=Math.floor(Math.random()*witz.liste.length);  
              var ww=witz.liste[w];  
              if (witz.liste.length>1) witz.liste.splice(w,1);  
              var witzplatz=document.getElementById("witzplatz");  
              if (witzplatz) {  
               if (!witzplatz.firstChild) witzplatz.appendChild(document.createTextNode(ww));  
               else witzplatz.firstChild.data=ww;  
              }  
             },  
             init:function() {  
              var witzplatz=document.getElementById("witzplatz")  
              if (witzplatz) witzplatz.onclick=witz.auswahl;  
             }  
            }  
            window.onload=function() {  
            witz.init();  
            witz.auswahl();  
            }
            
            </script>  
            </head>  
            <body>  
            <div id="witzplatz"></div>  
            </body>  
            </html>
            

            Gruß
            rfb

            --
            Man kann einen Menschen nichts lehren, man kann ihm nur helfen, es selbst zu entdecken.
            (Galileo Galilei)
      2. Hello out there!

        […] möchte ich nicht, dass der Witz 1 kommt, dann der Witz 9, und dann wieder Witz 1.
        Ich hoffe ihr hab das jetzt verstanden,

        Hast du verstanden, was „Zufall“ bedeutet?

        Der Zufall hat kein Gedächtnis. Dass nach Witz 1 nochmal  Witz 1 kommt ist genau so wahrscheinlich wie dass danach Witz 9 kommt.

        Du möchtest also nicht bei jeder Anzeige neu „würfeln“, sondern beim ersten „Würfeln“ die Reihenfolge deiner bspw. 20 Witze festlegen. Diese einmal „ausgewürfelte“ Reihenfolge arbeitest du dann ab.

        See ya up the road,
        Gunnar

        --
        „Wer Gründe anhört, kommt in Gefahr nachzugeben.“ (Goethe)
  2. Moin

    was genau meinst du mit

    der nur einmal angezeigt wird.

    ?

    Gruß
    rfb

    --
    Man kann einen Menschen nichts lehren, man kann ihm nur helfen, es selbst zu entdecken.
    (Galileo Galilei)