JQuery,传递参数

时间:2009-07-29 19:37:44

标签: jquery parameters

我正在使用一些非常基本的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");
});

但显然想要传递图像的标题(“约”,“艺术家”,“帮助”),以便我可以减少重复的代码。

任何帮助都非常感激。

由于

罗尼

4 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:1)

你可以这样:

function ElementHover(class_name, src_over, src_off) {
   $("."+class_name+"").hover(function() {
      $(this).attr("src", src_over);
      }, function() {
      $(this).attr("src", src_off);
   });

}

答案 2 :(得分:1)

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

答案 3 :(得分:0)

我不确定悬停功能中的第二个功能是怎么回事,但你可以这样做:

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

您也可以将同样的原则应用于您的开/关GIF。