如何简化这个jQuery JavaScript代码?

时间:2012-11-08 15:06:36

标签: javascript jquery

我对使用jQuery / JavaScript进行编码有点新意。我已经成功编写了下面的代码,但我认为有一种更简单的方法可以写下来。有人能告诉我怎么样吗?

$(document).ready(function(){
$(".btn_home").click(function(){
$("#article1").fadeIn();
$("#article2").fadeOut();
$("#article3").fadeOut();
$("#article4").fadeOut();

$("#blended").fadeOut();
$("#contact").fadeOut();
});

$(".btn_prt").click(function(){
$("#article1").fadeOut();
$("#article2").fadeIn();
$("#article3").fadeOut();
$("#article4").fadeOut();


$("#over").fadeIn();
$("#blended").fadeOut();
$("#contact").fadeOut();
});

$(".btn_blog").click(function(){
$("#article1").fadeOut();
$("#article2").fadeOut();
$("#article3").fadeIn();
$("#article4").fadeOut();

$("#over").fadeOut();
$("#blended").fadeIn();
$("#contact").fadeOut();
});

$(".btn_abt").click(function(){
$("#article1").fadeOut();
$("#article2").fadeOut();
$("#article3").fadeOut();
$("#article4").fadeIn();

$("#over").fadeOut();
$("#blended").fadeOut();
$("#contact").fadeIn();
}); 
});

3 个答案:

答案 0 :(得分:10)

您可以合并项目:

$("#foo, #bar, #baz").fadeIn();

或者你可以使用课程

$('.notneeded').fadeOut();

答案 1 :(得分:2)

这里的问题是代码重复。您需要使用带参数的函数来帮助解决这个问题。

$(document).ready(function() {
    $(".btn_prt").click(function(){
        fadeAllBut("#article2, #over");
    });

    $(".btn_blog").click(function(){
        fadeAllBut("#article3, #blended");
    });

    $(".btn_abt").click(function(){
        fadeAllBut("#article4, #contact");
    }); 
});

function fadeAllBut(itemsToFadeIn) {
    $(".fades").fadeOut();
    $(itemsToFadeIn).stop().fadeIn();
}

当然,您需要将CSS类fades提供给您想要淡入或淡出的所有项目。

答案 2 :(得分:0)

$(document)
.ready(function () {
$(".btn_home")
    .click(function () {
    $("#article1")
        .fadeIn(), $("#article2")
        .fadeOut(), $("#article3")
        .fadeOut(), $("#article4")
        .fadeOut(), $("#blended")
        .fadeOut(), $("#contact")
        .fadeOut()
}), $(".btn_prt")
    .click(function () {
    $("#article1")
        .fadeOut(), $("#article2")
        .fadeIn(), $("#article3")
        .fadeOut(), $("#article4")
        .fadeOut(), $("#over")
        .fadeIn(), $("#blended")
        .fadeOut(), $("#contact")
        .fadeOut()
}), $(".btn_blog")
    .click(function () {
    $("#article1")
        .fadeOut(), $("#article2")
        .fadeOut(), $("#article3")
        .fadeIn(), $("#article4")
        .fadeOut(), $("#over")
        .fadeOut(), $("#blended")
        .fadeIn(), $("#contact")
        .fadeOut()
}), $(".btn_abt")
    .click(function () {
    $("#article1")
        .fadeOut(), $("#article2")
        .fadeOut(), $("#article3")
        .fadeOut(), $("#article4")
        .fadeIn(), $("#over")
        .fadeOut(), $("#blended")
        .fadeOut(), $("#contact")
        .fadeIn()
})
})