Remplacer une image avec JQuery

Fermé
gintoxic Messages postés 524 Date d'inscription mardi 31 juillet 2007 Statut Membre Dernière intervention 7 avril 2016 - 27 sept. 2013 à 20:36
gintoxic Messages postés 524 Date d'inscription mardi 31 juillet 2007 Statut Membre Dernière intervention 7 avril 2016 - 27 sept. 2013 à 23:00
bonjour, je voudrais savoir la méthode pour remplacer une image par une autre au survol de la souris
l'image de base est insérée en html, la seconde en css (background).
mon souci est que pour le moment l'image inséeée en html est au dessus de celle insérée en css et donc n'apparait pas.
j'ai donc fait un script en JQuery mais le souci là (et je ne l'avais pas stipulé avant) est que toutes les images de mon menu (menu-images) adopte la meme image... mais elle apparait bien comme il faut et disparait pareil...
je pose le hml
echo '<li id="item'.$num_item.'" class="item" style="opacity:0"><a href="index.php?titre='.$lib_theme.'"><img src="images/'.lcfirst($lib_theme).'.png" class="img" /></a></li>';


et le JQuery :
$('.img').mouseover(function(){
$(this).attr('src','images/mark_visible.png');
});
$('.img').mouseout(function(){
$(this).attr('src','images/mark.png');
});

donc comment je peux faire pour que mon menu php s'associe avec Jquery ? svp

merci par avance
A voir également:

2 réponses

gintoxic Messages postés 524 Date d'inscription mardi 31 juillet 2007 Statut Membre Dernière intervention 7 avril 2016 10
27 sept. 2013 à 20:46
bon et bien j'ai trouvé un truc mais il est récurrent et rébarbatif = rééter le script pour chaque item
si vous pouviez me donner une méthode pour condenser le script, ce serait plus léger...merci par avance

html :
<img src="images/'.lcfirst($lib_theme).'.png" id="'.lcfirst($lib_theme).'" />

JQuery :
$('#mark').mouseover(function(){
$(this).attr('src','images/mark_visible.png');
});
$('#mark').mouseout(function(){
$(this).attr('src','images/mark.png');
});
0
Bonsoir,

Je te donne ma manière de procéder, qui n'est peut-être pas celle préconisée par les experts, mais au moins elle fonctionne !!
Et pas besoin de Javascript avec ma méthode :)

Tu mets une image transparente en background à tes li.
Et ensuite :

li:a {background-image: image en noir et blanc;}
li:hover {background-image : image en couleur; }

Okay ? Easy.
Allez bonne soirée ;)
0
gintoxic Messages postés 524 Date d'inscription mardi 31 juillet 2007 Statut Membre Dernière intervention 7 avril 2016 10
27 sept. 2013 à 23:00
salut et merci pour ton intervention, mais ça revient à répéter l'opération en css au lieu de JS... c'est plus sûr dans le cas ou JS est désactivé mais en matiere de légèreté c'est mieux ?
0