swap image avec OnMouseOver sur un select

swap image avec OnMouseOver sur un select - HTML/CSS - Programmation

Marsh Posté le 23-08-2006 à 19:53:42    

Bonjour,
 
je vais directement dans le vif du sujet, en gros j'ai un select et quand je passe sur les elements du select, je veux que l'image juste au dessus soit modifiée.
 
le JS:

Code :
  1. function swap_img(newpic, source){
  2. document.getElementById(source).src='imgs/'+newpic;
  3. }


 
mon formulaire :

Code :
  1. <img id="select_img" name="select_img" src="imgs/select_default.jpg" width="160" height="60"/>
  2. <form name="form_crew" id="form_crew">
  3.   <SELECT NAME="crew" id="crew" onChange="javascript:view_crew();">
  4.    <OPTION VALUE="">- CHOISIS TON CREW -</OPTION>
  5.    <OPTION VALUE="lab" OnMouseOver="swap_img('select_lab.jpg','select_img')" OnMouseOut="swap_img('select_default.jpg','select_img')">LE LABEL</OPTION>
  6.            
  7.                                  (...)
  8.   </SELECT>
  9.  </form>


 
donc voilà rien de très compliqué mais ça ne marche pas sous IE et Opera... (que sous firefox) et c'est d'autant plus étonnant que je fais appel a la même fonction à un autre endroit de la page et là ça marche correctement sous tous les navigateurs ???
 
si ça peut aider, voilà la partie qui fonctionne :

Code :
  1. <ul id="liste_menu">
  2.    <li><a href="sonneries.php"><img id="menu_sonneries" src="imgs/menu_sonneries_r.jpg" alt="Sonneries" OnMouseOver="swap_img('menu_sonneries.jpg','menu_sonneries')" OnMouseOut="swap_img('menu_sonneries_r.jpg','menu_sonneries')"/></a></li>
  3.    <li><a href="images.php"><img id="menu_logos" src="imgs/menu_logos_r.jpg" alt="Logos" OnMouseOver="swap_img('menu_logos.jpg','menu_logos')" OnMouseOut="swap_img('menu_logos_r.jpg','menu_logos')"/></a></li>
  4. (...)
  5.   </ul>


 
et il n'y a aucune erreur d'affiché dans la console JS sous Opera, et si je fais un alert de "document.getElementById(source).src' il ne se passe rien...
 
merci de votre aide


Message édité par bis2kt le 23-08-2006 à 19:56:40
Reply

Marsh Posté le 23-08-2006 à 19:53:42   

Reply

Marsh Posté le 24-08-2006 à 09:46:02    

tu n'as pas d'events sur les options dans IE ( sur opéra je sais pas)

Reply

Marsh Posté le 24-08-2006 à 11:14:31    

désolé je connais pas du tout IE et je peux pas te répondre. Je trouve pas de console...

Reply

Marsh Posté le 24-08-2006 à 11:24:12    

c'était pas une question mais une affirmation :o
 
Les declarations on(click|mouveover|mouseout ...) sur une balise option ne fonctionnent pas dans IE [:spamafote]

Reply

Marsh Posté le 29-08-2006 à 11:16:22    

ha ok :) après quelques recherches, sous Opera non plus.  
Halala... comme si il n'y avait pas déjà assez de problème de compatibilité avec les CSS, faut encore que le JS fasse des histoires. j'adoooOoore le web  :bounce:
j'ai été obligé de faire un faux <select> en flash...

Message cité 1 fois
Message édité par bis2kt le 29-08-2006 à 11:35:45
Reply

Marsh Posté le 29-08-2006 à 11:38:19    

bis2kt a écrit :

ha ok :) après quelques recherches, sous Opera non plus.  
Halala... comme si il n'y avait pas déjà assez de problème de compatibilité avec les CSS, faut encore que le JS fasse des histoires. j'adoooOoore le web  :bounce:
j'ai été obligé de faire un faux <select> en flash...


tu es fou ma parole
 fallait alors gerer l'evenement sur le select via onchange. et selon la value du option (reportée au select) tu gerai tes truc :/

Reply

Marsh Posté le 29-08-2006 à 11:40:51    

C'est [edit]PAS[/edit] la même chose un mouseover sur une option et le fait de la selectionnée!!!
Tu peux très bien passer "au dessus" sans pour autant cliquer dessus [:spamafote]
 
edit: c'est fou ce qu'un mot manquant peut changer le sens!
 


Message édité par anapajari le 29-08-2006 à 15:16:56
Reply

Marsh Posté le 29-08-2006 à 14:57:36    

yep, le probleme de onchange c'est que ça fonctionne au clic, moi je voulais un simple rollover

Reply

Sujets relatifs:

Leave a Replay

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