nokill2003: Zufällig einen Link auswählen

Hi,
ich bräuchte ein Script das beim laden einer Seite zufällig einen Link aus wählt und ihn dann ausgibt.
Beispiel:
ich habe folgende Links:
www.nic.de.vu
teamone.selhtml.de
projunkies.de.vu

so das Skript wählt jetzt den 2ten Link

also gibt es teamone.selhtml.de aus

ich brauche dieses Script, weil ich auf meiner Seite Werbung in Form von Bannern einbinden will, aber nicht alle auf einmal sondern immer nur einen Banner (die Seite von der ich rede heißt www.projunkies.de.vu und sie geht online sobald ich das Skript habe, deshalb würde ich mich über eine schnelle Antwort freuen ;)
schon mal großes thx im vorraus
mfg nokill2003

  1. Hallo,

    vorweg, ich habe selbst keinen Plan von Javascript, aber mit etwas Geduld kannst du dir aus den folgenden infos ein Grundgerüst/-konzept für dein Vorhaben überlegen.

    du suchst:
    Math.random()

    auf http://www.web-toolbox.net/webtoolbox/mathematik/zufallszahl.htm findest du ein schönes Beispiel. (Skript steht im Quelltext)

    Angenommen du hast 10 Links. Jeder Link bekommst seine eigene ID.
    Lass dir mit dem Skript eine Zufallszahl in den Grenzen von 1 bis 9 ausgeben, und ordne diese einer ID zu. Der Link mit dieser ID wird dann sichtbar gemacht / aktiviert.

    mfg NAG

    --
    signatur
    1. Hallo,

      vorweg, ich habe selbst keinen Plan von Javascript, aber mit etwas Geduld kannst du dir aus den folgenden infos ein Grundgerüst/-konzept für dein Vorhaben überlegen.

      du suchst:
      Math.random()

      auf http://www.web-toolbox.net/webtoolbox/mathematik/zufallszahl.htm findest du ein schönes Beispiel. (Skript steht im Quelltext)

      Angenommen du hast 10 Links. Jeder Link bekommst seine eigene ID.
      Lass dir mit dem Skript eine Zufallszahl in den Grenzen von 1 bis 9 ausgeben, und ordne diese einer ID zu. Der Link mit dieser ID wird dann sichtbar gemacht / aktiviert.

      mfg NAG

      Ich habe mich jetzt mal Versucht:
      <html>
           <head>
           </head>
           <body>
                <script language="JavaScript" type="text/javascript">
                     <!--
                        var Sponsor1 = "<a href='http://www.nic.de.vu'><img src='http://imgdata.net/www.nic.de.vu/b400x40_a.gif' width='400' height='40' border='0' alt='de|nic|vu - Kostenlose Domains für alle!'></a>"
                        var Sponsor2 = "<a href='http://emilia.ath.cx/'><img src='http://emilia.ath.cx/~wettbewerb/banner/dis_1.jpg' width='400' height='40' border='0' alt='emilia :.: powered by fukl webs'></a>"
                        var Sponsor3 = "<a href='http://www.funpic.de'><img src='http://www.funpic.de/navigation_r2_c1.jpg' width='400' height='40' border='0' alt='Funpic.de - die hammerharte FunCommunity mit kostenlosem Webhosting!'></a>"

      randInt(1,3);

      switch(Int)
                        {
                             case "1":
                             document.write(Sponsor1);
                             break;
                             case "2":
                             document.write(Sponsor2);
                             break;
                             case "3":
                             document.write(Sponsor3);
                             break;
                        }
                     -->
                </script>

      </body>
      </html>

      aber es kommt immer ein Fehler  bei randInt(1,3);

      was habe ich falschgemacht?

      1. hi,

        ich habe jetzt noch einen Verbesserung gemacht:

        <html>
             <head>
             </head>
             <body>
                  <script language="JavaScript" type="text/javascript">
                       <!--
                          var Int = 1 + 2*(Math.random());
                          var Int = Math.round(Int);

        document.write(Int); //das ist nur zur Kontrolle welche Zahl errecnet wurde und kommt später weg

        switch(Int)
                          {
                               case 1:
                               document.write("<a href='http://www.nic.de.vu'><img src='http://imgdata.net/www.nic.de.vu/b400x40_a.gif' width='400' height='40' border='0' alt='de|nic|vu - Kostenlose Domains für alle!'></a>");
                               break;
                               case 2:
                               document.write("<a href='http://emilia.ath.cx/'><img src='http://emilia.ath.cx/~wettbewerb/banner/dis_1.jpg' width='400' height='40' border='0' alt='emilia :.: powered by fukl webs'></a>");
                               break;
                               case 3:
                               document.write("<a href='http://www.funpic.de'><img src='http://www.funpic.de/navigation_r2_c1.jpg' width='400' height='40' border='0' alt='Funpic.de - die hammerharte FunCommunity mit kostenlosem Webhosting!'></a>");
                               break;
                          }
                       -->
                  </script>

        </body>
        </html>

        1. Hi, zum x mal

          ich habs geschafft (hier das fertige Script):

          <html>
               <head>
               </head>
               <body>
                    <script language="JavaScript" type="text/javascript">
                         <!--

          //Zufallslink v1.0 final
                            //© by nok[PJ}] plz visit www.ProJunkies.de.vu   if you have any questions mail me kaidokidmeisterdieb@yahoo.de

          var Int = 1 + 2*(Math.random());
                            var Int = Math.round(Int);

          document.write(Int);

          if (Int == 1)
                            {
                                 document.write("<a href='http://www.nic.de.vu'><img src='http://imgdata.net/www.nic.de.vu/b400x40_a.gif' width='400' height='40' border='0' alt='de|nic|vu - Kostenlose Domains für alle!'></a>");
                            }
                            else if (Int == 2)
                            {
                                 document.write("<a href='http://emilia.ath.cx/'><img src='http://emilia.ath.cx/~wettbewerb/banner/dis_1.jpg' width='400' height='40' border='0' alt='emilia :.: powered by fukl webs'></a>");
                            }
                            else if (Int == 3)
                            {
                                 document.write("<a href='http://www.funpic.de'><img src='http://www.funpic.de/navigation_r2_c1.jpg' width='400' height='40' border='0' alt='Funpic.de - die hammerharte FunCommunity mit kostenlosem Webhosting!'></a>");
                            }
                         -->
                    </script>

          </body>
          </html>

          Für alle die nur diesen Beitrag lesen: mit dem Script wird eine Zufallszahl zwischen 1 und 3 errechnet und ein (Bild-)Link ausgegeben.

          Ihr könnt das fertige Script verändern und benutzen wie ihr wollt, aber bitte das copyright nicht entfernen

          zum Schluss nachmal big thx @ nag

          mfg nokill2003

          1. Hallo,

            zwei Anmerkungen:

            1. Du solltest mal über den Einsatz von Arrays nachdenken.

            2. 2*Math.random() erzeugt eine Zufallszahl zwischen 0 und 2. Durch das Runden werden die Zahlen zwischen 0 und 0.5 zu 0, zwischen 0.5 und 1.5 zu 1 und zwischen 1.5 und 2 zu 2. Du siehst, Dein Zufall ist gewichtet. der mittlere Link kommt doppelt so oft dran, wie die anderen. Besser wäre, das Runden durch ein Abschneiden (Math.floor) zu ersetzen, also Int=1+Math.floor(3*Math.random()). Ich weiß aber nicht, ob Math.random die 1.0 erreicht.

            Zu 1. Mit Arrays könnte es dann so aussehen:
            document.write(bannerlink[Math.floor(bannerlink.length*Math.random())])

            Gruß, Jürgen

            1. Hallo,

              zwei Anmerkungen:

              1. Du solltest mal über den Einsatz von Arrays nachdenken.

              2. 2*Math.random() erzeugt eine Zufallszahl zwischen 0 und 2. Durch das Runden werden die Zahlen zwischen 0 und 0.5 zu 0, zwischen 0.5 und 1.5 zu 1 und zwischen 1.5 und 2 zu 2. Du siehst, Dein Zufall ist gewichtet. der mittlere Link kommt doppelt so oft dran, wie die anderen. Besser wäre, das Runden durch ein Abschneiden (Math.floor) zu ersetzen, also Int=1+Math.floor(3*Math.random()). Ich weiß aber nicht, ob Math.random die 1.0 erreicht.

              Zu 1. Mit Arrays könnte es dann so aussehen:
              document.write(bannerlink[Math.floor(bannerlink.length*Math.random())])

              Gruß, Jürgen

              Hi,

              thx für Punkt 2 hab mein script jetzt geändert:

              <html>
                   <head>
                   </head>
                   <body>
                        <script language="JavaScript" type="text/javascript">
                             <!--

              //Zufallslink v1.1 final
                                //© by nok[PJ}] plz visit www.ProJunkies.de.vu   if you have any questions mail me kaidokidmeisterdieb@yahoo.de

              var Int = 1 + 3*(Math.random());
                                var Int = Math.floor(Int);

              if (Int == 1)
                                {
                                     document.write("<a href='http://www.nic.de.vu'><img src='http://imgdata.net/www.nic.de.vu/b400x40_a.gif' width='400' height='40' border='0' alt='de|nic|vu - Kostenlose Domains für alle!'></a>");
                                }
                                else if (Int == 2)
                                {
                                     document.write("<a href='http://emilia.ath.cx/'><img src='http://emilia.ath.cx/~wettbewerb/banner/dis_1.jpg' width='400' height='40' border='0' alt='emilia :.: powered by fukl webs'></a>");
                                }
                                else if (Int == 3)
                                {
                                     document.write("<a href='http://www.funpic.de'><img src='http://www.funpic.de/navigation_r2_c1.jpg' width='400' height='40' border='0' alt='Funpic.de - die hammerharte FunCommunity mit kostenlosem Webhosting!'></a>");
                                }
                             -->
                        </script>

              </body>
              </html>

              1. Der Punkt 1 würde das ganze auch übersichtlicher machen und flexibler:

                //Zufallslink v1.1 final
                                  //© by nok[PJ}] plz visit www.ProJunkies.de.vu   if you have any questions mail me kaidokidmeisterdieb@yahoo.de

                Naja, dafür einen Copyright Hinweis ist vielleicht ein bisschen anmaßend.

                zuerst würde ich eine Funktion für den HTML code machen:

                function getLink(url, imgsrc, title)
                {
                return '<a href"' + url + '">'

                • '<img width=400 height=40 border=0'
                • ' src="' + imgsrc
                • ' alt="' + url +'"'
                • ' title="' + title + '"'
                • '></a>'
                  ;
                  }

                Das alt Attribut ist der Alternativ Text für Browser die keine Grafiken anzeigen können (oder wollen). Das Title Attribut ist das Tooltip das bei überfahren der Maus angezeigt wird.

                Dann musst du das Array definieren:

                var adv = new Array();

                adv[adv.length] = getLink(
                'http://www.nic.de.vu',
                'http://imgdata.net/www.nic.de.vu/b400x40_a.gif',
                'de|nic|vu - Kostenlose Domains für alle!'
                );

                adv[adv.length] = getLink(
                'http://emilia.ath.cx/',
                'http://emilia.ath.cx/~wettbewerb/banner/dis_1.jpg',
                'emilia :.: powered by fukl webs'
                );

                adv[adv.length] = getLink(
                'http://www.funpic.de',
                'http://www.funpic.de/navigation_r2_c1.jpg',
                'Funpic.de - die hammerharte FunCommunity mit kostenlosem Webhosting!'
                );

                var i = parseInt( Math.random() * adv.length);

                document.write( adv[i] );