1. #1
    CyberOps's Avatar
    Registered
    17/10/03
    Location
    O-Vl
    Posts
    1,476
    iTrader
    17 (100%)
    Mentioned
    0 Post(s)

    javascript : random gekozen banner

    Is het mogelijk om de banner van een site (achtergrond van een tabelcel) random te laten kiezen als de pagina geladen wordt? Mss aan de hand van een javascript dat een random-getal genereert ts. 0 en 50...

    De banners zouden in een map /images/banners zitten met filenames zoals: banner1.png, banner2.png,... of gewoon 1.png, 2.png,...

    Lukt dit en zoja hoe??

    Thx
    w00t!
    no votes  

  2. #2
    servi's Avatar
    Registered
    01/07/02
    Location
    Zolder
    Posts
    2,487
    iTrader
    6 (100%)
    Mentioned
    0 Post(s)
    no votes  

  3. #3
    CyberOps's Avatar
    Registered
    17/10/03
    Location
    O-Vl
    Posts
    1,476
    iTrader
    17 (100%)
    Mentioned
    0 Post(s)
    OK thanks!
    w00t!
    no votes  

  4. #4
    CyberOps's Avatar
    Registered
    17/10/03
    Location
    O-Vl
    Posts
    1,476
    iTrader
    17 (100%)
    Mentioned
    0 Post(s)
    Misschien ietwat te vroeg gejuicht..

    Code:
    <html>
    
    <head>
    
    <title>Random gekozen banners</title>
    
    </head>
    
    <body>
    
    <table border="1" width="100%">
      <tr>
                          <script language="JavaScript" type="text/javascript">
                          <!--
                                                
                          image = new Array(33);    
                          image[0] = "images\elements\banners\0.jpg";                 
                          image[1] = "images\elements\banners\1.jpg";
                          image[2] = "images\elements\banners\2.jpg";
                          image[3] = "images\elements\banners\3.jpg";
                          image[4] = "images\elements\banners\4.jpg";
                          image[5] = "images\elements\banners\5.jpg";
                          image[6] = "images\elements\banners\6.jpg";
                          image[7] = "images\elements\banners\7.jpg";
                          image[8] = "images\elements\banners\8.jpg";
                          image[9] = "images\elements\banners\9.jpg";
                          image[10] = "images\elements\banners\10.jpg";
                          image[11] = "images\elements\banners\11.jpg";
                          image[12] = "images\elements\banners\12.jpg";
                          image[13] = "images\elements\banners\13.jpg";
                          image[14] = "images\elements\banners\14.jpg";
                          image[15] = "images\elements\banners\15.jpg";
                          image[16] = "images\elements\banners\16.jpg";
                          image[17] = "images\elements\banners\17.jpg";
                          image[18] = "images\elements\banners\18.jpg";
                          image[19] = "images\elements\banners\19.jpg";
                          image[20] = "images\elements\banners\20.jpg";
                          image[21] = "images\elements\banners\21.jpg";
                          image[22] = "images\elements\banners\22.jpg";
                          image[23] = "images\elements\banners\23.jpg";
                          image[24] = "images\elements\banners\24.jpg";
                          image[25] = "images\elements\banners\25.jpg";
                          image[26] = "images\elements\banners\26.jpg";
                          image[27] = "images\elements\banners\27.jpg";
                          image[28] = "images\elements\banners\28.jpg";
                          image[29] = "images\elements\banners\29.jpg";
                          image[30] = "images\elements\banners\30.jpg";
                          image[31] = "images\elements\banners\31.jpg";
                          image[32] = "images\elements\banners\32.jpg";
                          image[33] = "images\elements\banners\33.jpg";
                          
                          index = Math.floor(Math.random() * image.length);
                          document.write("<tr background='" + image[index] + "' />");    
                                          
                          // -->
                          </script>
      <br>
      <br>
      <br>
      </tr>
    </table>
    
    </body>
    
    </html>
    ziet iemand hierin de fout?
    w00t!
    no votes  

  5. #5
    LunchBox's Avatar
    Registered
    18/07/02
    Location
    Deurne
    Posts
    3,854
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    14/14
    meerdere, misschien maar eens eerst html leren voor je hiermee begint:
    --
    Code:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html>
    <head>
      <meta http-equiv="content-type" content="text/html;charset=UTF-8" />
      <title></title>
      <style type="text/css"><!--
    	body{background-color:#fff;font-family:tahoma;font-size:12px;}
      --></style>
      <script type="text/javascript"><!--
      function image(){
    	  image = new Array(2);    // aantal aanpassen als je ze terug toevoegt
    	  image[0] = "images\elements\banners\0.jpg";                 
    	  image[1] = "images\elements\banners\1.jpg";
    	  
    	  index = Math.floor(Math.random() * image.length);
    	  document.write('<img src="'+ image[index] + '" alt="" />');
      }
      --></script>
    </head>
    <body>
      <div>
            <table><tr><td><script type="text/javascript"><!--
    		image();
    	--></script></td></tr></table>
      </div>
    </body>
    </html>
    Last edited by LunchBox; 09-09-2004 at 20:10.
    no votes  

  6. #6
    Disa's Avatar
    Registered
    28/04/04
    Location
    Gent
    Posts
    1,317
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    6/6
    waarom niet gewoon zo?

    Code:
    <script type="text/javascript">
    rand1=Math.random()*50;
    rand=Math.round(rand1);
    document.write("<img src='images/elements/banners/"+rand+".jpg' alt=''>");
    </script>
    Zo moet je ze niet in een array steken (de pictures 1.jpg tot en met 50.jpg moeten wel op de webspace staan dan.

    Dis
    no votes  

  7. #7
    den Acid Burn's Avatar
    Registered
    27/05/03
    Location
    Aarschot
    Posts
    2,403
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    0/0
    doe je niet best Math.random()*50 + 1 ??
    omdat er random getalllen worden gegenereerd van 0 tot 9 ofzo dacht ik en zonder die +1 kom je natuurlijk nooit aan 50
    no votes  

  8. #8
    servi's Avatar
    Registered
    01/07/02
    Location
    Zolder
    Posts
    2,487
    iTrader
    6 (100%)
    Mentioned
    0 Post(s)
    dat is als je gebruikt maakt van Math.floor() anders voldoet het om *50 te gebruiken.

    voorbeeldje :

    0.991324452 * 50 = 49,5662226

    round : 50
    floor : 49


    0.991324452 * 50 +1 = 50,5662226

    round : 51
    floor : 50
    Last edited by servi; 09-09-2004 at 22:50.
    no votes  

  9. #9
    den Acid Burn's Avatar
    Registered
    27/05/03
    Location
    Aarschot
    Posts
    2,403
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    0/0
    Quote Originally Posted by servi
    This quote is hidden because you are ignoring this member. Show
    dat is als je gebruikt maakt van Math.floor() anders voldoet het om *50 te gebruiken.

    voorbeeldje :

    0.991324452 * 50 = 49,5662226

    round : 50
    floor : 49


    0.991324452 * 50 +1 = 50,5662226

    round : 51
    floor : 50
    ok, maar als je bv krijgt 0.00012 ofzo, die kans bestaat ook, dan gaat em die afronden op 0.
    en ge hebt geen foto die 0.jpg heet.

    ge kunt in de geval wel een if maken die ervoor zorgt da er een neiuw random getal wordt gemaakt als getal 0 moest zijn.
    no votes  

  10. #10
    servi's Avatar
    Registered
    01/07/02
    Location
    Zolder
    Posts
    2,487
    iTrader
    6 (100%)
    Mentioned
    0 Post(s)
    ok, maar als je bv krijgt 0.00012 ofzo, die kans bestaat ook, dan gaat em die afronden op 0.
    en ge hebt geen foto die 0.jpg heet.

    dat is in uw geval het probleem, niet bij de code die is voorgesteld. Hij heeft immers wel een 0.jpg-bestand.

    ge kunt in de geval wel een if maken die ervoor zorgt da er een neiuw random getal wordt gemaakt als getal 0 moest zijn.

    voorbeeld :
    0,00998 * 50 = 0,499

    afgerond : 0
    floor : 0

    0,00998 * 50 + 1 = 1,499

    afgerond :1
    floor : 1
    Last edited by servi; 09-09-2004 at 23:33.
    no votes  

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

Log in

Log in