Changer 2 images au survol

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Changer 2 images au survol

par charabia » 14 oct. 2005, 09:51

Eh oui c'est une fonction à la dreamweaver lol, mais c'est bien ce que veut toony je crois :p

par heddicmi » 14 oct. 2005, 09:34

Ah bin évidement avec une fonction comme ça vi, pas besoin de retaper... suffit de mettre des arguments en plus.. Bien vu... C'est pas du charabia ! :lol: (AH...AH...AH... :roll: (de plus en plus naze mes vannes :oops: ))

par charabia » 14 oct. 2005, 09:16

Je n'ai pas très bien compris, toony21, tu veux juste faire un "rollover" ? Lorsque tu passes sur image1, image2 la remplace et quand tu quittes image2, image1 revient ?

Je pense avoir compris :)

Voili le code, je crois que c'est ce que tu désires faire :

Code : Tout sélectionner

<p><a href="javascript:;" onMouseOver="MM_swapImage('img1','','3.gif','img2','','4.gif',1)" onMouseOut="MM_swapImgRestore()"><img src="1.gif" name="img1" width="50" height="50" border="0" id="img1"></a></p> <p>&nbsp;</p> <p><img src="2.gif" name="img2" width="50" height="50" id="img2"></p>
Avec le script de dreamweaver :

Code : Tout sélectionner

<script language="JavaScript" type="text/JavaScript"> <!-- function MM_preloadImages() { //v3.0 var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array(); var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++) if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}} } function MM_swapImgRestore() { //v3.0 var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc; } function MM_findObj(n, d) { //v4.01 var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) { d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);} if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n]; for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); if(!x && d.getElementById) x=d.getElementById(n); return x; } function MM_swapImage() { //v3.0 var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3) if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];} } //--> </script>

par heddicmi » 13 oct. 2005, 17:54

Tu peux expliquer ce que tu as modifié pour que ça marche ?

Sinon, je me doutais un peu de ce soucis, il faut regarder la fonction :
MM_swapImgRestore()

par toony21 » 13 oct. 2005, 17:31

Bon maintenant le survol marche bien, mais lorsque je retire le curseur du bouton, l'état survol de l'image 4 reste present. Le onMouseOut n'agit que sur l'image 3...
Voila le code complet :

...
<img src="images/images-over_03.gif" name="Image3" width="151" height="38">
...

...
<a href="age3.php" target="_blank" onMouseOver="MM_swapImage('Image4','','images/images-over_04.gif');MM_swapImage('Image3','','images/images_03.gif')" onMouseOut="MM_swapImgRestore()"><img src="images/images_04.gif" name="Image4" width="151" height="29" border="0"></a>
...

par heddicmi » 13 oct. 2005, 17:20

Ce que tu as fais n'est pas foncièrement incorrect, mais il faut savoir si derrière, tu as fais ce qu'il fallais... A savoir que tu as bien 2 images appellées image4 et image3... De plus, à quoi correspondt le dernier paramètres (1) ?

Changer 2 images au survol

par toony21 » 13 oct. 2005, 17:14

Bonjour,

Avec le code de dreamweaver, il est possible de changer d'image lors d'un survol. Cela donne :
<a href="page2.php" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image5','','images/images-over_05.gif',1)">

Mais comment fait-on pour qu'au survol de cette image, une autre image également se change ?
J'ai essayé de cumuler la fonction 2 fois en faisant ceci...

<a href="page3.php" target="_blank" onMouseOver="MM_swapImage('Image4','','images/images-over_04.gif',1);MM_swapImage('Image3','','images/images-over_03.gif',1)" onMouseOut="MM_swapImgRestore()">

Mais ca ne donne rien...
:(
Des idées svp ?