JQuery, parameters de passage

Je travaille avec un code JQuery très basique et j’aimerais condenser ce que j’ai fait en une seule fonction avec les parameters passés.

J’en ai quelques unes:

$(".about").hover(function() { $(this).attr("src","_img/nav/about_over.gif"); }, function() { $(this).attr("src","_img/nav/about_off.gif"); }); $(".artists").hover(function() { $(this).attr("src","_img/nav/artists_over.gif"); }, function() { $(this).attr("src","_img/nav/artists_on.gif"); }); $(".help").hover(function() { $(this).attr("src","_img/nav/help_over.gif"); }, function() { $(this).attr("src","_img/nav/help_off.gif"); }); 

Mais aimerais évidemment passer le titre de l’image (“à propos de”, artistes “,” aide “) afin que je puisse réduire le code répété.

Toute aide très appréciée.

Merci

Ronnie

 function hover(img) { $("."+img).hover(function() { $(this).attr("src","_img/nav/"+img+"_over.gif"); }, function() { $(this).attr("src","_img/nav/"+img+"_off.gif"); }); } 

Vous pourriez quelque chose comme ça:

 function ElementHover(class_name, src_over, src_off) { $("."+class_name+"").hover(function() { $(this).attr("src", src_over); }, function() { $(this).attr("src", src_off); }); } 
 function HoverPic(name){ $("."+name).hover(function() { $(this).attr("src","_img/nav/"+name+"_over.gif"); }, function() { $(this).attr("src","_img/nav/"+name+"_off.gif"); }); } 

Je ne sais pas ce qui se passe avec la deuxième fonction dans la fonction de survol, mais vous pouvez faire quelque chose comme ceci:

 $(".about .artists .help").hover(function(){ $(this).attr('src','_img/nav/' + $(this).attr('class') + '_over.gif') }); 

vous pouvez également appliquer le même principe à vos gifs on / off.