JQuery,传递参数
我正在使用一些非常基本的jquery代码,并希望将我已经完成的内容压缩到一个带有传递参数的函数中。
我有几个这样的:
$(".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"); });
但显然想要传递图像的标题(“约”,艺术家“,”帮助“),以便我可以减少重复的代码。
任何帮助非常感谢。
谢谢
罗尼
function hover(img) { $("."+img).hover(function() { $(this).attr("src","_img/nav/"+img+"_over.gif"); }, function() { $(this).attr("src","_img/nav/"+img+"_off.gif"); }); }
你可能会这样:
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"); }); }
我不确定hover函数中的第二个函数是怎么回事,但你可以这样做:
$(".about .artists .help").hover(function(){ $(this).attr('src','_img/nav/' + $(this).attr('class') + '_over.gif') });
您也可以将同样的原则应用于您的开/关GIF。