jquery fadeIn / fadeOut无法正常运行

时间:2015-03-13 17:20:27

标签: javascript jquery

我有几个div,我想根据导航面板淡入淡出。我遇到了两个div的问题,但其他的工作正常,所以我不确定发生了什么。

这里是jQuery代码,这里有两个古怪的div被挑出来了,真正的代码概括了它适用于所有div:

    $('#behind_the_lens').click(function() {
                          $('#gallaries-page').fadeOut(0);
                          $('#behind_the_lens-page').fadeIn(750);
                          $('#pricing-page').fadeOut(750);
                         });
    $('#pricing').click(function() {
                          $('#pricing-page').fadeIn(750);
                          $('#behind_the_lens-page').fadeOut(750);
                         });

当第一个函数运行时#pricing-page只是隐藏,没有褪色,#behind_the_lens-page会褪色。

当第二个函数运行#pricing-page等待#behind_the_lens-page淡出时,它会立即显示。

对于任何其他div组合都不会发生这种情况,因此对我来说非常奇怪。

对于这些div的内容,一个#pricing-page使用表,另一个使用浮动布局。但是布局类型并不是唯一的其他div。

总之,为什么它会以这种方式为这些div而不是其他div工作?此外,为什么要这样做?

编辑:能够提出一个显示问题的小提琴here

1 个答案:

答案 0 :(得分:1)

你正在逐渐消失并逐渐淡出。观看滚动条,当“可见”消失时,“点击”页面出现,并在可见完全消失后跳到位置(显示:无)。

在fadeOut上使用完整的回调,以便在淡出结束后发生淡入淡出。

https://jsfiddle.net/u3u8jsqr/2/

JS

if (thisID != visibleID) {
    $(visibleID).fadeOut(750, function () {
        $(thisID).fadeIn(750);
    });                                
}