jQuery fadeIn fadeOut不';I don’我不能总是用同样的方式工作

jQuery fadeIn fadeOut不';I don’我不能总是用同样的方式工作,jquery,html,jquery-animate,Jquery,Html,Jquery Animate,我对此有意见 单击链接时,我希望活动div随淡出而消失,所选div随淡出而显示。但向前和向后单击时动画的工作方式不同。我希望转换总是相同的。这有什么问题?您的页面需要绝对定位,以便堆叠 否则,您必须等到上一页完全淡出后,才能淡入下一页。您的页面需要绝对定位,以便它们堆叠在一起 否则,您必须等到上一页完全淡出后,才能淡入下一页。使用此CSS: .pages_of_menu{ position: absolute; display: none; } .pages_of_menu

我对此有意见
单击链接时,我希望活动div随淡出而消失,所选div随淡出而显示。但向前和向后单击时动画的工作方式不同。我希望转换总是相同的。这有什么问题?

您的页面需要绝对定位,以便堆叠


否则,您必须等到上一页完全淡出后,才能淡入下一页。

您的页面需要绝对定位,以便它们堆叠在一起

否则,您必须等到上一页完全淡出后,才能淡入下一页。

使用此CSS:

.pages_of_menu{
    position: absolute;
    display: none;
}

.pages_of_menu.active {
    display: block;
}
您的JS是正确的,但它可以变得更好,如下所示:

$(document).ready(function() {

    var menu_index=-1;
    var menu_pages=$(".pages_of_menu");

    $("#left_panel_div a").click(function(){
          menu_index=$(this).parent('li').index();
          menu_pages.fadeOut(500);
          $($(".pages_of_menu").get(menu_index)).fadeIn(500);
    });

});
演示:

使用此CSS:

.pages_of_menu{
    position: absolute;
    display: none;
}

.pages_of_menu.active {
    display: block;
}
您的JS是正确的,但它可以变得更好,如下所示:

$(document).ready(function() {

    var menu_index=-1;
    var menu_pages=$(".pages_of_menu");

    $("#left_panel_div a").click(function(){
          menu_index=$(this).parent('li').index();
          menu_pages.fadeOut(500);
          $($(".pages_of_menu").get(menu_index)).fadeIn(500);
    });

});

演示:

关闭
溢出:隐藏溢出:隐藏在你的页面容器上,你会看到发生了什么。谢谢@Shankar Cabus,它现在非常有用。但是有一点我不明白。我编辑了你的代码$(菜单页面.get(菜单索引)).fadeIn(1000);在这一部分中,浏览器如何理解哪个div在哪个索引中?@sastertkurt,
$(“.pages\u of_菜单”)
返回一个包含3个
  • 的数组,并且您已经知道单击元素的索引,只需检索它。感谢@Shankar Cabus,它现在非常有用。但有一点我不明白。我编辑了你的代码$(菜单页面.get(菜单索引)).fadeIn(1000);在这一部分中,浏览器如何理解哪个div在哪个索引中?@satterkurt,
    $(“.pages\u of_菜单”)
    返回一个包含3个
  • 的数组,并且您已经知道单击元素的索引,只需检索它。谢谢,它工作得很好。但我必须问,什么是。停止(true,true)到底在做什么?这样可以防止在快速单击链接时动画无休止地排队。尝试删除它们并快速地反复单击链接。谢谢,伙计。它工作得很好。但我必须问,到底是什么。停止(真的,真的)到底在做什么?这样可以防止在快速单击链接时动画无休止地排队。尝试删除它们并快速地反复单击链接。