Page 1 sur 1

Probleme sur un script de diaporama

Posté : 20 août 2005, 22:08
par muriel
Bonjour à tous,

Voilà j'ai trouvé sur internet un script de diaporama qui est automatique et a aussi des boutons "precedent,play, suivant" tout est parfait sauf que je voudrais enlever le champ liste qui donne le commentaire de l'image mais je n'y arrive pas car si je l'enleve le script ne marche plus c'est à cette endroit que je n'arrive pas à trouver la solution
(<select name="slide" onChange="change();" size="1">)

voici le script:

vous pouvez aussi le retouver à cette page pour voir comment il fonctionne:
http://www.toulouse-renaissance.net/c_o ... ection.htm

Code : Tout sélectionner

<!-- DEBUT DU SCRIPT DIAPORAMA--> <script LANGUAGE="JavaScript"> var current = 0; function next(){ // forward one image if(document.formname.slide[current+1]){ document.images.show.src = document.formname.slide[current+1].value; document.formname.slide.selectedIndex = ++current;} else{first();}} function previous(){ // back on image if((current-1) >= 0){ document.images.show.src = document.formname.slide[current-1].value; document.formname.slide.selectedIndex= --current;} else{last();}} function first(){ // jump to first image current=0; document.images.show.src = document.formname.slide[0].value; document.formname.slide.selectedIndex=0;} function last(){ // this is jump to last image current=(document.formname.slide.length-1); document.images.show.src = document.formname.slide[current].value; document.formname.slide.selectedIndex=current;} function ap(text){ // this controls the auto-play and/or auto-stop document.formname.slidebutton.value=(text == "Stop") ? "Start" : "Stop"; rotate();} function change(){ // this is for the pulldown menu current=document.formname.slide.selectedIndex; document.images.show.src = document.formname.slide[current].value;} function rotate() { if (document.formname.slidebutton.value == "Stop") { current = (current == document.formname.slide.length-1) ? 0 : current+1; document.images.show.src = document.formname.slide[current].value; document.formname.slide.selectedIndex = current; window.setTimeout("rotate()", 5000);}} // End --></script> </p> <form name="formname"> <div align="center"><center><table cellspacing="1" cellpadding="4" bgcolor="#000000"> <tr> <td align="center" bgcolor="white">DIAPORAMA </td> </tr> <tr> <td align="center" bgcolor="white" width="200" height="150"><img src="IMAGE_1.gif" name="show" WIDTH="170" HEIGHT="202"></td> </tr> <tr> <td align="center" bgcolor="#C0C0C0"><select name="slide" onChange="change();" size="1"> <option value="IMAGE_1.gif" selected>VOTRE COMMENTAIRE 1</option> <option value="IMAGE_2.jpg">VOTRE COMMENTAIRE 2</option> <option value="IMAGE_3.jpg">VOTRE COMMENTAIRE 3</option> </select> </td> </tr> <tr> <td align="center" bgcolor="#C0C0C0"><input type="button" onclick="first();" value="|<<" title="Jump to beginning" style="border:1 SOLID #e6e6e6;"> <input type="button" onclick="previous();" value="<<" title="Last Picture" style="border:1 SOLID #e6e6e6;"> <input type="button" name="slidebutton" onClick="ap(this.value);" value="Start" title="AutoPlay" style="width:75;border:1 SOLID #e6e6e6;"> <input type="button" onclick="next();" value=">>" title="Next Picture" style="border:1 SOLID #e6e6e6;"> <input type="button" onclick="last();" value=">>|" title="Jump to end" style="border:1 SOLID #e6e6e6;"> </td> </tr> </table> </center></div> </form> <!-- FIN DU SCRIPT DIAPORAMA-->

d'avance merci pour vos reponses,
muriel

Posté : 20 août 2005, 23:32
par Cyrano
Tu peux ruser: dans la balise <select>, ajoute un style CSS : style="display: none"

Posté : 21 août 2005, 01:39
par Invité
bonjour Cyrano,

vraiment je te remercie pour ta reponse qui marche tres bien,

et bravo car tu m'as fait gagné beaucoup de temps, encore merci,

muriel
[Résolu]

Posté : 21 août 2005, 01:57
par Invité
encore une petite question cyrano, si je desire que le diaporama s'execute des que la page s'ouvre que dois-je changer dans le script?
parce que pour le moment il faut cliquer sur "start pour qu'il change les photos toutes les 5 secondes, alors que je desirai ne pas avoir à cliquer sur le bouton "start" à l'ouverture de la page.

en esperant que ma question est comprehensible,

d'avance je te remercie du temps que tu me consacres,

muriel

Posté : 21 août 2005, 10:02
par Cyrano
Dans la balise body, ajoute un évènement onload="ap('Start';)"

Posté : 21 août 2005, 12:16
par muriel
merci cyrano pour ton aide sur mes 2 messages...
pour la formule c'etait presque çà, je me permet de te reprendre car ça ne marchait pas et apres une recherche sur google j'ai trouvé ceci est maintenant çà marche:
<onLoad=ap(this.value);>

seul hic il commence le diaporama à la photo 3 au lieu de la photo 1 alors que sans cette formule la page s'ouvre bien sur la photo 1, bizarre...

mais je ne veux pas te faire perdre du temps avec cela, sauf evidemment si tu sais d'ou viens le probleme.

je te remercie une nouvelle fois pour ton aide qui m'a été precieuse,

muriel

Posté : 21 août 2005, 12:31
par Cyrano
Ça, c'est une bizzarerie en effet, il faudrait peut-être mettre un time-out de quelques secondes pour laisser le temps à toutes les photos d'être correctement chargées avant de lancer le diaporama, je soupçonne que le diapo commence sur la première disponible :-k