Javascript 从最后一个到第一个隐藏的导航栏动画

Javascript 从最后一个到第一个隐藏的导航栏动画,javascript,jquery,Javascript,Jquery,我是jquery和动画方面的新手,我需要帮助才能做到这一点。 我在我的网站上有一个导航栏,它有10个按钮级别1,当其中一个按钮被剪辑时,导航栏必须从右到左隐藏按钮,当所有按钮都被隐藏时,开始显示一个新的导航栏级别2,从第一个按钮到最后一个按钮。级别2可以有更多或更少数量的按钮。 更清楚地说,我有以下几点: 123456 当我单击4时,该条必须执行如下操作 123456 123445 1234 1 2 3 1 2 一, 新的导航有4个条目。4是父级,此级别有子级 4.1 4.1.4.2 4.1 4

我是jquery和动画方面的新手,我需要帮助才能做到这一点。 我在我的网站上有一个导航栏,它有10个按钮级别1,当其中一个按钮被剪辑时,导航栏必须从右到左隐藏按钮,当所有按钮都被隐藏时,开始显示一个新的导航栏级别2,从第一个按钮到最后一个按钮。级别2可以有更多或更少数量的按钮。 更清楚地说,我有以下几点:

123456 当我单击4时,该条必须执行如下操作

123456

123445

1234

1 2 3

1 2

一,

新的导航有4个条目。4是父级,此级别有子级

4.1

4.1.4.2

4.1 4.2 4.3

4.1 4.2 4.3 4.4


4.1 4.2 4.3 4.4 4 4.5

这实际上取决于用于构建菜单的HTML,但基本上您需要:

将单击处理程序绑定到每个菜单项。您可以在HTML或JS中执行此操作

单击后,您需要确定单击了哪个元素。然后,您可以使用淡出功能的定时延迟设置菜单的动画,最终动画调用该功能以设置新菜单的动画。大概是这样的:

$('#menu_5').fadeOut(300);
$('#menu_4').delay(100).fadeOut(300);
$('#menu_3').delay(200).fadeOut(300);
$('#menu_2').delay(300).fadeOut(300);
$('#menu_1').delay(400).fadeOut(300);
$('#menu_0').delay(500).fadeOut(300, function(){
  submenu_intro(selected_index);
});
您可以用同样的方式设置动画。在这个函数中,您必须有一种方法来加载子菜单,以便可以在其中设置动画。这只是动画如何工作的一个简单示例:

$('#menu_'+selected_index).fadeIn(300);
$('#menu_'+selected_index+'_submenu_0').delay(100).fadeIn(300);
$('#menu_'+selected_index+'_submenu_1').delay(200).fadeIn(300);
$('#menu_'+selected_index+'_submenu_2').delay(300).fadeIn(300);
$('#menu_'+selected_index+'_submenu_3').delay(400).fadeIn(300);
$('#menu_'+selected_index+'_submenu_4').delay(500).fadeIn(300);

注意:按照您的导航方式,无法返回到主导航级别1

嗯,这很麻烦,可能还可以改进,但我认为这正是你想要的。这也将取决于您的设置


你应该展示你已经做了什么,以及你的困境。