Aide pour un javascript........

Aide pour un javascript........ - Programmation

Marsh Posté le 02-04-2001 à 21:34:43    

Voici un script pour un diaporama photo...le diaporama commence dès l'ouverture de la page et tourne en boucle.  
Je voudrais savoir ce que je dois modifier ou rajouter pour qu'il ne démarre pas tout seul, mais qu'on soit obligé de clicker sur la première image pour démarrer l'animation. ET aussi ce qu'il faut faire pour qu'il ne tourne pas en boucle mais s'arrête a la dernière image....
Merci d'avance
xl
============================================
<html>
<head>
 
<SCRIPT LANGUAGE="JavaScript">
<!--
var timeDelay = 3;
var Pix = new Array
("photos/peep1.jpg"  
,"photos/peep2.jpg"  
,"photos/peep3.jpg"  
,"photos/peep4.jpg"  
,"photos/peep5.jpg"
,"photos/peep6.jpg"
,"photos/peep7.jpg"
,"photos/peep8.jpg"
);
var howMany = Pix.length;
timeDelay *= 1000;
var PicCurrentNum = 0;
var PicCurrent = new Image();
PicCurrent.src = Pix[PicCurrentNum];
function startPix() {
setInterval("slideshow()", timeDelay);
}
function slideshow() {
PicCurrentNum++;
if (PicCurrentNum == howMany) {
PicCurrentNum = 0;
}
PicCurrent.src = Pix[PicCurrentNum];
document["ChangingPix"].src = PicCurrent.src;
}
// End -->
</script>
</head>
 
<body bgcolor="#000000" text="#ffffff" link="#000000" vlink="#000000" alink="#000000" onload="startPix()"><br>
<br>
<br>
 
 
<center><img name="ChangingPix" src="mon_image_01.jpg"></center>  
 
</body>
 
</html>

Reply

Marsh Posté le 02-04-2001 à 21:34:43   

Reply

Marsh Posté le 02-04-2001 à 22:26:36    

tu vires onload dans body
tu ajoute dans IMG onclick="startpix()"
 
tu ajoute var toto= devant setInterval("slideshow()", timeDelay);  
 
tu remplace :
 
if (PicCurrentNum == howMany) {  
PicCurrentNum = 0;  
}  
 
par
 
if (PicCurrentNum == howMany) {  
  clearInterval(toto)
}  
 
c'est toi qui a fait le slide show ? parce que si c'etait toi tu saurais faire ca.

Reply

Marsh Posté le 02-04-2001 à 23:26:04    

Merci pour la réponse...mais ça ne marche pas! La première image s'affiche mais j'ai "erreur sur la page" lorsque je click dessus. Ou est ce que je merde????
xl
ps: nom ce n'est pas moi qui ai écrit le script (je ne ne fait que commencer)
 
<html>
 
<head>
 
<SCRIPT LANGUAGE="JavaScript">
<!--
var timeDelay = 3;
var Pix = new Array
("photos/peep1.jpg"  
,"photos/peep2.jpg"  
,"photos/peep3.jpg"  
,"photos/peep4.jpg"  
,"photos/peep5.jpg"
,"photos/peep6.jpg"
,"photos/peep7.jpg"
,"photos/peep8.jpg"
);
var howMany = Pix.length;
timeDelay *= 1000;
var PicCurrentNum = 0;
var PicCurrent = new Image();
PicCurrent.src = Pix[PicCurrentNum];
function startPix() {
var toto= setInterval("slideshow()", timeDelay);
}
function slideshow() {
PicCurrentNum++;
if (PicCurrentNum == howMany) {
clearInterval(toto)
}
PicCurrent.src = Pix[PicCurrentNum];
document["ChangingPix"].src = PicCurrent.src;
}
// End -->
</script>
</head>
 
<body bgcolor="#000000" text="#ffffff" link="#000000" vlink="#000000" alink="#000000" ><br>
<br>
<br>
 
 
<center><img name="ChangingPix"  src="photos/peep1.jpg" width="347" height="241" onclick="startpix()"></center>  
 
 
 
</body>
 
</html>

Reply

Marsh Posté le 03-04-2001 à 09:47:30    

hihihi... on commence tous par un copie/coller plus ou moins foireux :D:D:D
Mais je te conseille de 'attaquer a plus facile ... apres tu pourras debugger ce bout de script tout seul :D

Reply

Marsh Posté le 03-04-2001 à 11:45:44    

wouatouwouatou a écrit a écrit :

hihihi... on commence tous par un copie/coller plus ou moins foireux :D:D:D
Mais je te conseille de 'attaquer a plus facile ... apres tu pourras debugger ce bout de script tout seul :D




 
d'accord, mais là c'est d'aide dont j'ai besoin.....
xl

Reply

Marsh Posté le 03-04-2001 à 13:43:30    

c koi setInterval ? je connaissais pas :D ...
c une fonction du dom ou c'est une de tes fonctions ?

Reply

Marsh Posté le 03-04-2001 à 14:00:13    

Au fait... En javascript, les majuscules/minuscules sont reconnues... Et une variable déclarée dans une fonction n'est visible ke dans celle-ci; en d'autres termes, elle n'est valable ke dans la fonction.
Voilà, à toi de faire le reste :D

Reply

Marsh Posté le 03-04-2001 à 14:27:08    

<html>  
<head></head>  
<body>
<script language="javascript">  
var delai=3000; // ms
var nb=8:
var im = new Array(nb);
var n=0;
var c=0;
var img=null;
var t=null;
 
function t() {
  n++;
  if (n<nb) img.src=im[n].src;
    else clearInterval(t);      
}
 
function n(_img) {
  if (c==0) {
    img=_img;
    c=1;
    t=setInterval("s()",delai);
    }
  }
 
for (var i=0;i<nb;i++) eval("im[i]=new Image();im[i].src=\"photos/peep"+i+".jpg\";" );  
</script>  
<center><img name="i" src="photos/peep1.jpg" onClick="n(this)"></center>
</body>  
</html>

Reply

Marsh Posté le 03-04-2001 à 14:29:19    

voila et en plus je crois qu'il marche.
par contre je suis desole pour les commentaires.
ils arriveront peut etre ce soir

Reply

Marsh Posté le 03-04-2001 à 14:35:17    

Il marche très bien le truc d'avant... il suffit de faire attention à la casse (cf. onClick='startPix()' )
Et Pi, il fo aussi déclarer toto en dehors de la fonction startPix()... Du style:

var toto;
 
function startPix(){..}

 
Et enfin, vaut mieux réinitialiser (pas obligatoire, kom tu veux :D ) PicCurrentNum après clearInterval()...
du genre : PicCurrentNum=0

Reply

Marsh Posté le 03-04-2001 à 14:35:17   

Reply

Marsh Posté le 03-04-2001 à 14:41:42    

pas bete ca, il vaut mieux reinitialiser c'est vrai.
en fait ce source la est un source un plus plus optimisé en taille.

Reply

Marsh Posté le 03-04-2001 à 14:57:53    

AAAAARRRRRRGGGGGGGGGhhhhhh........   :pt1cable:

Reply

Marsh Posté le 03-04-2001 à 14:57:53    

AAAAARRRRRRGGGGGGGGGhhhhhh........   :pt1cable:

Reply

Marsh Posté le 03-04-2001 à 15:24:58    

chouette... une mutation en direct!!! :D

Reply

Marsh Posté le 03-04-2001 à 16:20:42    

mais bon, il est plusdur a comprendre comme ca le code javascript

Reply

Marsh Posté le 03-04-2001 à 16:49:13    

Merci a vous deux...I have succeded!
 :bounce:  :hot:  :bounce:  :hot:  :bounce:  :hot:  
ps: mais je crois que j'ai vraiment besoin de faire des progrès  :D

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed