JQuery, передача параметров - PullRequest
1 голос
/ 29 июля 2009

Я работаю с некоторым очень базовым кодом 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");
});

Но, очевидно, хотелось бы передать заголовок изображения («о», «художники», «помощь»), чтобы я мог сократить повторный код.

Любая помощь высоко ценится.

Спасибо

Ronnie

Ответы [ 4 ]

3 голосов
/ 29 июля 2009
function hover(img) {
    $("."+img).hover(function() {
    $(this).attr("src","_img/nav/"+img+"_over.gif");
       }, function() {
    $(this).attr("src","_img/nav/"+img+"_off.gif");
    });
}
1 голос
/ 29 июля 2009
function HoverPic(name){
    $("."+name).hover(function() {
        $(this).attr("src","_img/nav/"+name+"_over.gif");
            }, function() {
        $(this).attr("src","_img/nav/"+name+"_off.gif");
    });
}
1 голос
/ 29 июля 2009

Вы могли бы что-то вроде этого:

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

}
0 голосов
/ 29 июля 2009

Я не уверен, что происходит со второй функцией в функции наведения, но вы можете сделать что-то вроде этого:

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

Вы можете применить тот же принцип к своим вкл. / Выкл. Гифкам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...