1

我对使用 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();
}); 
});
4

3 回答 3

10

您可以组合项目:

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

或者你可以使用类

$('.notneeded').fadeOut();
于 2012-11-08T15:08:47.727 回答
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 您想要淡入或淡出的所有项目。

于 2012-11-08T15:17:58.097 回答
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()
})
})
于 2012-11-08T23:54:46.207 回答