js foto kiezen foutje?

Status
Niet open voor verdere reacties.

soundguy

Gebruiker
Lid geworden
27 okt 2007
Berichten
167
hallo mensen,

ik heb een javascriptje maar die wil ik 3 keer gebruiken zodat hij 3 foto's kiest.
en als ik het met 1 keer het script probeer gaat het wel...
maar ik doe toch iets fout want hij laat de foto's niet zien.
ik heb het scriptje in de bijlagen.

wat doe ik fout? het is waarschijnlijk een makkelijkee fout. maar ik weet het niet.

dank jullie.

greet soundguy
 

Bijlagen

  • Untitled-1.txt
    8,5 KB · Weergaven: 13
Laatst bewerkt:
Een bijlage mag een word of txt document zijn, een zip, of rar.
Max 100 Kb groot.

Maar je kunt je code hier ook plakken.
Gebruik dan rechts boven in je typ-raam de knop "Php".
Dat geeft een php-code tag om je code heen.
[ php ] en [ /php ] (zonder spaties).
 
Een bijlage mag een word of txt document zijn, een zip, of rar.
Max 100 Kb groot.

Maar je kunt je code hier ook plakken.
Gebruik dan rechts boven in je typ-raam de knop "Php".
Dat geeft een php-code tag om je code heen.
[ php ] en [ /php ] (zonder spaties).

ik had het gemerkt maar nu zit er wel een bijlage bij toch? een .txt?

had net per ongeluk een .html...
 
Ja, klopt.
Succes met je vraag. Is niet mijn ding.
 
Je had verder kunnen gaan in dit onderwerp. ;)

De namen zijn zo regelmatig dat je geen data array nodig hebt om een foto uit te kiezen:
PHP:
<html>
 <head>
  <title>3 fotos</title>
  <script type="text/javascript">
   function changePhotos() {
    document.images['photo1'].src = 'logo/logo ' + Math.floor(Math.random() * 100 + 1) + '.jpg';
    document.images['photo2'].src = 'logo/logo ' + Math.floor(Math.random() * 100 + 101) + '.jpg';
    document.images['photo3'].src = 'logo/logo ' + Math.floor(Math.random() * 100 + 201) + '.jpg';
    };
  </script>
 </head>
  <body onLoad="changePhotos()">
   <img name="photo1" src="logo/logo 001.jpg" width="766" height="200">
   <img name="photo2" src="logo/logo 101.jpg" width="766" height="200">
   <img name="photo3" src="logo/logo 201.jpg" width="766" height="200">
 </body>
</html>
:)


Vr.Gr. Egel.
 
aleen doet de eerste het nu niet meer..

ik heb nu dit

PHP:
<html> 
<head> 
  <title>3 fotos</title> 
  <script type="text/javascript"> 
   function changePhotos() { 
    document.images['photo1'].src = 'logo/logo ' + Math.floor(Math.random() * 100 + 1) + '.jpg'; 
    document.images['photo2'].src = 'logo/logo ' + Math.floor(Math.random() * 100 + 101) + '.jpg'; 
    document.images['photo3'].src = 'logo/logo ' + Math.floor(Math.random() * 100 + 201) + '.jpg'; 
    }; 
  </script> 
</head> 
  <body onLoad="changePhotos()"> 
   <img name="photo1" src="logo/logo 001.jpg" width="249" height="187"> 
   <img name="photo2" src="logo/logo 101.jpg" width="249" height="187"> 
   <img name="photo3" src="logo/logo 201.jpg" width="249" height="187"> 
</body> 
</html>

ja je hebt gelijk had gewoon met de vorige door moete gaan.

alweer bedankt egel
 
aleen doet de eerste het nu niet meer..
Ik had de voorloopnullen vergeten. :eek:

Zo zou het goed moeten gaan:
PHP:
<html>
 <head>
  <title>3 fotos</title>
  <script type="text/javascript">
   function random(min,max) {
    var nr = '' + Math.floor(Math.random() * (max - min + 1) + min);
    nr = '000'.substring(nr.length) + nr;
    return nr;
    };
   function changePhotos() {
    document.images['photo1'].src = 'logo/logo ' + random(  1,100) + '.jpg';
    document.images['photo2'].src = 'logo/logo ' + random(100,200) + '.jpg';
    document.images['photo3'].src = 'logo/logo ' + random(200,300) + '.jpg';
    };
  </script>
 </head>
  <body onLoad="changePhotos()">
   <img name="photo1" src="logo/logo 001.jpg" width="766" height="200">
   <img name="photo2" src="logo/logo 001.jpg" width="766" height="200">
   <img name="photo3" src="logo/logo 001.jpg" width="766" height="200">
 </body>
</html>
Vr.Gr. Egel.
 
het werkt super!

egel je bent echt DE javascript master!:p

greet soundguy
 
Zou dit misschien kunnen komen doordat nr een "locale variablele" is?

var nr = '' + Math.floor(Math.random() * (max - min + 1) + min);

staat binnen de functie geïnitialiseerd.

Misschien heeft het er niks mee te maken, maar het viel me toevallig op.
 
Je hebt twee body-tag's en in de eerste:
PHP:
<body onLoad="changephotos()">
<center>
  <div id="main">
    <div id="links">
      
      | <a href="contact.html">contact</a> | <a href="het team.html">niels | sasja | eric | sander | </a></div>
    
	<!-- begin logo -->
	<body onLoad="changePhotos()"> 
   <img name="photo1" src="logo/logo 001.gif" width="249" height="187"> 
   <img name="photo2" src="logo/logo 001.gif" width="249" height="187"> 
   <img name="photo3" src="logo/logo 001.gif" width="249" height="187">
	<!-- eind logo  -->
staat changePhotos() met een kleine p. :(

Misschien is dit handiger:
PHP:
<body>
<center>
  <div id="main">
    <div id="links">
      
      | <a href="contact.html">contact</a> | <a href="het team.html">niels | sasja | eric | sander | </a></div>
    
	<!-- begin logo -->
   <img name="photo1" src="logo/logo 001.gif" width="249" height="187"> 
   <img name="photo2" src="logo/logo 001.gif" width="249" height="187"> 
   <img name="photo3" src="logo/logo 001.gif" width="249" height="187">
   <script type="text/javascript">changePhotos();</script>
	<!-- eind logo  -->
Zo wordt de functie direct na de logo's aangeroepen, al voordat de hele pagina geladen is. :)


Vr.Gr. Egel.
 
Zou dit misschien kunnen komen doordat nr een "locale variablele" is?

var nr = '' + Math.floor(Math.random() * (max - min + 1) + min);

staat binnen de functie geïnitialiseerd.

Misschien heeft het er niks mee te maken, maar het viel me toevallig op.
Dat werkt wel goed hoor. :)

Door return nr; wordt de waarde doorgegeven als de functie wordt aangeroepen.
Bv. random(1,100) wordt dan een string van '001' t/m '100'


Vr.Gr. Egel.
 
is der eigenlijk wel een oplossing voor?
Je hebt denk ik reactie 12 gemist. :)

changePhotos() met hoofdletter P of zo het scipt aanroepen:
PHP:
<body> 
<center> 
  <div id="main"> 
    <div id="links"> 
       
      | <a href="contact.html">contact</a> | <a href="het team.html">niels | sasja | eric | sander | </a></div> 
     
    <!-- begin logo --> 
   <img name="photo1" src="logo/logo 001.gif" width="249" height="187"> 
   <img name="photo2" src="logo/logo 001.gif" width="249" height="187"> 
   <img name="photo3" src="logo/logo 001.gif" width="249" height="187"> 
   <script type="text/javascript">changePhotos();</script> 
    <!-- eind logo  -->
Net live getest met Opera en beide werken goed. :)


Vr.Gr. Egel.
 
ja je hebt gelijk die had ik gemist ja.

dat is best een blunder eigenlijk 2 keer de body tag....
ik probeer het eventjes!
 
het werkt:D

in elke browser:D

bedankt egel!(het is dat ik je geen kudos kan geven:p)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan