Accueil > Forum > > > > Rollover avec plusieurs images
Rollover avec plusieurs images
samedi 23 juin 2007 à 19:57:28 |
Rollover avec plusieurs images

MELBLUES
|
Bonjour, j'espère ne pas me tromper de section en postant ce message... J'aimerais savoir si l'un d'entre vous peut me filer un petit coup de main rapide svp, j'ai un problème avec un script que j'ai trouvé sur "jejavascript", il s'agit d'un rollover sur plusieurs images (ici 3). Mon problème est le suivant : Je dois placer deux rollovers sur la même page, par exemple, l'un ferait défiler les images A-B-C et l'autre D-E-F. Or comme je suis plutôt inexpérimenté en JS, bien que je sache ce qu'il faut faire (copier le script en renommant les variables, fonctions, etc., pour chaque rollover), visiblement je le fais mal car ça ne fonctionne pas, en fait je ne sais pas du tout ce qu'il faut renommer, même en essayant d'être logique lol. Voici le code épuré et simplifié : <head> <script language="JavaScript"> <!-- //PLF-http://www.jejavascript.net/ function objet() { this.length = objet.arguments.length for (var i = 0; i < this.length; i++) this[i+1] = objet.arguments[i] } var nom = new objet ("imagA.gif", "imagB.gif", "imagC.gif"); var numero = 1; function changer() { numero += 1; if (numero == nom.length + 1) numero = 1; document.image.src = ""+nom[numero]; roll=window.setTimeout('changer()',50) } function initial() { if (numero != 1) numero = 1; window.clearTimeout(roll); document.image.src = ""+nom[numero]; } function prechargimg() { var doc=document; if(doc.images){ if(!doc.precharg) doc.precharg=new Array(); var i,j=doc.precharg.length,x=prechargimg.arguments; for(i=0; i<x.length; i++) if (x[i].indexOf("#")!=0){ doc.precharg[j]=new Image; doc.precharg[j++].src=x[i];}} } //--> </script> </head> <body background="pouetpouet.jpg" onLoad="prechargimg('imagA.gif','imagB.gif','imagC.gif')"> <a href="#" onMouseOut="initial()" onMouseOver="changer()" ><img src="imagA.gif" name="image"></a> <br> <br> <br> ICI JE VEUX REPETER L'OPERATION, MAIS AVEC 3 AUTRES IMAGES.
J'espère que vous pourrez m'aider, merci !
|
|
samedi 23 juin 2007 à 20:17:23 |
Re : Rollover avec plusieurs images

yousfane
|
Salut Tu veux ajouter d'autres images ou seulement changer les sources de celles du code
|
|
samedi 23 juin 2007 à 21:45:13 |
Re : Rollover avec plusieurs images

MELBLUES
|
En fait, avec le code que j'ai mis, j'ai un seul rollover sur 3 images. Je veux en ajouter un autre, mais avec 3 autres images (différentes des trois premières). Donc je crée un autre lien pour les images D-E-F : <a href="#" onMouseOut="initial()" onMouseOver="changer()" ><img src="imagD.gif" name="image"></a>
Le problème, c'est que si je ne change pas le script, les images qui vont défiler seront celles indiquées dans le premier script (donc les images A-B-C, alors que je veux D-E-F).
La solution logique est de créer un second script et d'en renommer les objets, variables, etc., ce sont finalement deux script indépendants, mais je ne sais pas ce qu'il faut renommer... Par exemple, dans mon second script, au lieu de laisser "objet" et "nom", j'écris "objet1", "nom1", pour les différencier du premier script qui se rapporte au premier rollover. J'essaye d'être clair, mais je ne sais pas si je le suis...
Un script différent par lien rollover en fait...
Merci !
|
|
lundi 25 juin 2007 à 05:23:30 |
Re : Rollover avec plusieurs images

dvdstory
|
J'ai pas tester et ça ne fonctionne sans doute pas, mais c'est un début, je sais pas si ta ut l'idéé de séparrer les fonctions.
<head> <script language="JavaScript"> <!-- //PLF-http://www.jejavascript.net/
function objet1() { this.length = objet.arguments.length for (var i = 0; i < this.length; i++) this[i+1] = objet.arguments[i] } var nom = new objet ("imagA.gif", "imagB.gif", "imagC.gif"); var numero = 1;
function changer() { numero += 1; if (numero == nom.length + 1) numero = 1; document.image.src = ""+nom[numero]; roll=window.setTimeout('changer()',50) }
function objet2() { this.length = objet.arguments.length for (var i = 0; i < this.length; i++) this[i+1] = objet.arguments[i] } var nom = new objet ("imagD.gif", "imagE.gif", "imagF.gif"); var numero = 1;
function initial1() { if (numero != 1) numero = 1; window.clearTimeout(roll); document.image.src = ""+nom[numero]; }
function initial2() { if (numero != 1) numero = 1; window.clearTimeout(roll); document.image.src = ""+nom[numero]; }
function prechargimg() { var doc=document; if(doc.images){ if(!doc.precharg) doc.precharg=new Array(); var i,j=doc.precharg.length,x=prechargimg.arguments; for(i=0; i<x.length; i++) if (x[i].indexOf("#")!=0){ doc.precharg[j]=new Image; doc.precharg[j++].src=x[i];}} }
//--> </script> </head>
<body background="pouetpouet.jpg" onLoad="prechargimg('imagA.gif','imagB.gif','imagC.gif','imagD.gif','imagE.gif','imagF.gif')">
<a href="#" onMouseOut="initial1()" onMouseOver="changer()" ><img src="imagA.gif" name="image1"></a>
<br> <br>
<a href="#" onMouseOut="initial2()" onMouseOver="changer()" ><img src="imagD.gif" name="image2"></a>
|
|
lundi 25 juin 2007 à 10:34:18 |
Re : Rollover avec plusieurs images

MELBLUES
|
Bonjour, effectivement ça ne fonctionne pas, j'ai essayé tant bien que mal de l'arranger, mais je n'y connais pas grand chose en JS... Je suis sûr que c'est simplissime pour quelqu'un qui connaît JS, il faut simplement savoir quels sont les "éléments" du code à renommer. Voici le lien original : http://www.jejavascript.net/rollov_3.php Merci de t'être penché dessus en tout cas 
|
|
lundi 25 juin 2007 à 14:00:58 |
Re : Rollover avec plusieurs images

Zobibol
|
Réponse acceptée !
Bien le bonjour, en fait pour pouvoir gérer plusieurs rollOver, avec les images, il faut ( enfin, c'est la solution que j'ai trouvé avec ton source ), gérer un tableau bi-dimensionnel pour stocké les images :
J'en suis arrivé au script suivant :
<head> <script language="JavaScript"> <!-- //PLF-http://www.jejavascript.net/
var nom = [ ["./images/01.jpg", "./images/02.jpg", "./images/03.jpg"], ["./images/04.jpg", "./images/05.jpg", "./images/06.jpg"] ]; var numero = 0;
/** * Changement d'image * * @param pictNumber * numéro à prendre en compte pour les enregistrement */ function changer(pictNumber) { numero++; if (numero > nom[pictNumber].length ) numero = 0; document.getElementById("image"+(pictNumber+1) ).src=nom[pictNumber][numero]; roll=window.setTimeout('changer('+pictNumber+')',550) }
/** * Arrêt du timer */ function initial() { window.clearTimeout(roll); }
/** * Préchargement des images */ function prechargimg() { var doc=document; if(doc.images){ if(!doc.precharg) doc.precharg=new Array(); var i,j=doc.precharg.length,x=prechargimg.arguments; for(i=0; i<x.length; i++) if (x[i].indexOf("#")!=0){ doc.precharg[j]=new Image; doc.precharg[j++].src=x[i];}} }
//--> </script> </head>
<body background="pouetpouet.jpg" onLoad="prechargimg('./images/01.jpg','./images/02.jpg','./images/03.jpg','./images/04.jpg','./images/05.jpg','./images/06.jpg')">
<a href="#" onMouseOut="initial()" onMouseOver="changer(0)" ><img src="./images/01.jpg" id="image1"></a>
<br> <br>
<a href="#" onMouseOut="initial()" onMouseOver="changer(1)" ><img src="./images/04.jpg" id="image2"></a> </body> </html>
Attention, j'ai changé le nom des images....
[o-_-o]
|
|
lundi 25 juin 2007 à 17:42:40 |
Re : Rollover avec plusieurs images

MELBLUES
|
Merci beaucoup ! Ca fonctionne très bien, mais j'ai une petite question, histoire de ne pas repartir sans avoir rien appris, n'était-il pas plus simple de copier bêtement le script, et de renommer les fonctions, variables et objets ? On aurait eu deux scripts, c'est sûrement moins bien, mais est-ce possible finalement ?
Une dernière question pour vous embêter encore un peu, comment faire pour que, lors du OnMouseOut, mon image redevienne automatiquement la première de la série qui a défilé ? J'ai essayé de modifié la fonction "initial()", mais sans succès.
Merci encore pour le script [img]http://forum.aceboard.net/smile/biggthumpup.gif[/img]
|
|
mardi 26 juin 2007 à 09:29:58 |
Re : Rollover avec plusieurs images

Zobibol
|
Réponse acceptée !
Alors, pour répondre à ta première question, oui, il est tout à fait possible de dupliquer les méthodes et les propriétés, mais cela implique qu'en cas d'évolution ou autre, il faut le faire sur les toutes les méthodes, donc une redondance de traitement donc une éventuelle redondance de bugs ( parce que ça arrive aussi ).
Ensuite pour réinitialiser la première image lors du mouseout, il suffit de rajouter un paramètre pictNumber à la méthode initial. Elle deviendrait donc :
/** * Arrêt du timer * * @param pictNumber * numéro de l'image à réinitialiser. */ function initial(pictNumber) { // Réaffichage de la première image document.getElementById("image"+(pictNumber+1) ).src=nom[pictNumber][0]; // détruit le timer window.clearTimeout(roll); }
et sur l'appel : onmouseout= "initial (0)" pour la première et initial(1) pour la seconde. et voilà ...
[o-_-o]
|
|
mardi 26 juin 2007 à 20:33:46 |
Re : Rollover avec plusieurs images

MELBLUES
|
Merci Zobibol, c'est très sympa d'avoir pris le temps de répondre à toutes mes questions, je me remets au boulot, j'ai du pain sur la planche. A bientôt 
|
|
mardi 17 juillet 2007 à 23:02:53 |
Re : Rollover avec plusieurs images

MELBLUES
|
Salut, je reviens à la charge pour un tout petit détail. Le rollover à trois images fonctionne parfaitement sous Firefox, mais sous IE, pendant le défilement, il y a une image reconnue comme manquante (mes 3 images défilent, mais j'ai une croix rouge EN PLUS, entre chaque cycle). Je pense qu'IE ne doit pas comprendre la boucle sans passer par la case "zéro", d'où cette horrible croix rouge qui s'affiche entre deux images. Quelqu'un aurait une idée svp ?
Merci
|
|
Cette discussion est classée dans : images, numero, var, doc, precharg
Répondre à ce message
Sujets en rapport avec ce message
Préchargement d'images [ par DAVIMIKA ]
Bonjour,J'utilise une galerie photos composée de photos miniatures qui s'agrandissent lors du survol de la souris.Comment avec mon lien atuel :<img s
colorer du texte [ par bayeland ]
Salut j'ai telecharger le code ci dessous et il marche tres bien. Le seul probleme et que je ne veux pas qu'il remplace le texte recherche qui se trou
Redirection apres diaporama [ par DomBea ]
Bonjour, c'est un script qui fait defiler 3 images avec un fondu puis s'arrete. Jusqu'a la tout va bien. J'aimerais qu'ensuite la page soit redirectio
page to iframe [ par abdoulax ]
Bonjour,J'ai une page ouverte. Je voudrai modifier complement cette page afin de faire de mettre son contenu dans un iframe.par exemple on aurait test
Un appel javascript dans une div [ par cosycorner ]
Bonjour à tous, Je voudrais insérer des images aléatoires dans une div aux dimensions précises.(en background ?)J'ai trouvé ce script qui fonctionne p
bouton clignotant [ par redstonemedia ]
Bonsoir à tous et merci d'avoir pris le temps de lire mon message.mon problme c que j'ai créé un bouton qui clignote en javascript et je voudrais qu i
changement de src [ par paolinardc ]
Bonjour !J'ai écrit un script qui permet de changer le src de plusieurs images (document.images[n°balise].src="") sur un évènement onClick. Tout march
connaitre la taille d'un tableau crée dynamiquement [ par David78390 ]
Bonjour a tous, je voudrais savoir comment on peut connaitre la taille d'un tableau qui se cré dynamiquement. En fait j'ai un formulaire qui permet
défilement image veticalement [ par sAchAttouille ]
Salut à tous,bon dabord je suis pas un fort utilisateur de forum sauf cas extreme pour trouver des astuces bout de codes sinon Niet !Je suis pas un fo
plusieurs mots en surbrillance [ par tonytruand ]
Bonsoir,à force de chercher j'ai fini par réussir à mettre en surbrillance un mot contenu dans un iframe depuis un input.j'aimerai pouvoir faire la mê
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|