jQuery是冲突的

时间:2015-02-11 03:02:32

标签: jquery fadein fadeout

我很确定我的jQuery是冲突的,但我似乎无法弄清楚问题。

当用户点击导航时,Elixa,About,Services和Contact四个主要选项将淡出/隐藏/不透明度:0(无论需要做什么),并且会弹出几个div类作为响应。

问题在于回归。当用户单击.triangle(实际上是后退按钮)时,正确的div类为fadeOut,但我无法将Elixa,About,Services和Contact div添加到fadeIn。

我只是遗漏了一些代码,还是只是一个有冲突的问题?

$(document).ready(function() {
    $(".title1").click(function(){
        $(".elixa, .about, .services, .contact").fadeOut(3000)

        .queue(function() {
            $(".infobox, .photobox, .photopanel, .titlepanel, .titletitle, .triangle").delay(3000);
            $(".infobox, .photobox, .photopanel, .titlepanel, .titletitle, .triangle").css({opacity:1});                
            $(".infobox, .photobox, .photopanel, .titlepanel, .titletitle, .triangle").fadeIn(3000);
    });

    $(".triangle").click(function() {
        $(".infobox, .photobox, .photopanel, .titlepanel, .titletitle, .triangle").css({opacity:0})

        .queue(function() {
            $(".elixa, .about, .services, .contact").fadeIn(3000);
        });
    });
});

1 个答案:

答案 0 :(得分:2)

我认为这是因为queue的使用,当你使用队列方法时,有人必须将方法出列才能执行,如果你使用像fadeOut这样的方法会发生这种情况。 animate之前或之后。{/ p>

在您的第二个示例中,您使用的是css,这可能是基于队列的方法,因此只需按顺序调用它们或在调用.dequeue()后调用.queue()

$(".triangle").click(function() {
    $(".infobox, .photobox, .photopanel, .titlepanel, .titletitle, .triangle").css({opacity:0});
    $(".elixa, .about, .services, .contact").fadeIn(3000);
});