jQuery初学者用if语句悬停

时间:2014-01-19 10:34:57

标签: jquery if-statement hover mouseevent mouseover

现在,我的代码有效:

$( "a.tw" ).hover(function() {
$( "a.st" ).css("background-image", "url(stw.png)");  
});

$( "a.tu" ).hover(function() {
$( "a.st" ).css("background-image", "url(stu.png)");  
});

$( "a.in" ).hover(function() {
$( "a.st" ).css("background-image", "url(sin.png)");  
});

然而,我真正想做的是为所有人提供“if”语句。 如果我将鼠标悬停在上述某个类别之上,我希望BG会改变。

有人能指出我正确的方向吗?

3 个答案:

答案 0 :(得分:2)

更简单的方法是尽可能让你的背景成为一个班级:

$('a.tw').hover(function() {
   $('a.st').toggleClass('background-stw');  
});

CSS

.background-stw
{
   background-image : url('stw.png');
}

答案 1 :(得分:1)

尝试

$("a.tw,a.tu,a.in").hover(function () {
    var $a = $(this)
    $("a.st").css("background-image", function () {
        if ($a.hasClass('tw')) {
            return "url(stw.png)";
        }
        if ($a.hasClass('tu')) {
            return "url(stu.png)";
        }
        if ($a.hasClass('in')) {
            return "url(sin.png)";
        }
    });
});

答案 2 :(得分:0)

您也可以使用live()函数,因此它适用于DOM

$('a').live('hover', function() {
    if($(this).hasClass('tw'))
    {
        // Applay bg
    }
});