Archief - javascript : random gekozen banner

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

CyberOps

Legacy Member
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

CyberOps

Legacy Member
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?

LunchBox

Legacy Member
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>

Disa

Legacy Member
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

den Acid Burn

Legacy Member
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

servi

Legacy Member
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

den Acid Burn

Legacy Member
servi zei:
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.

servi

Legacy Member
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
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan