Javascript 在这种特殊情况下,没有手风琴效果的手风琴菜单
在我的asp.net mvc应用程序中,我有垂直菜单 菜单一Javascript 在这种特殊情况下,没有手风琴效果的手风琴菜单,javascript,jquery,css,Javascript,Jquery,Css,在我的asp.net mvc应用程序中,我有垂直菜单 菜单一 子菜单项1 子菜单项2 菜单二 子菜单项1 子菜单项2 此菜单使用jquery手风琴效果,最初设置为 MENU ONE MENU TWO 单击菜单一或菜单二将打开菜单项。我从我的控制器发送到视图,在特定的页面上应该打开哪个菜单,这很好。我正在寻找解决方案,以禁用手风琴动画,如果菜单已经展开 例如:用户被导航到菜单的两个页面,控制器发送将打开菜单两项的标志。用户现在选择打开子菜单item2,不应应用手风琴效果。如何禁用此手风琴
- 子菜单项1
- 子菜单项2
- 子菜单项1
- 子菜单项2
MENU ONE
MENU TWO
单击菜单一或菜单二将打开菜单项。我从我的控制器发送到视图,在特定的页面上应该打开哪个菜单,这很好。我正在寻找解决方案,以禁用手风琴动画,如果菜单已经展开
例如:用户被导航到菜单的两个页面,控制器发送将打开菜单两项的标志。用户现在选择打开子菜单item2,不应应用手风琴效果。如何禁用此手风琴效果
这是密码
$(document).ready(function () {
$.easing.def = "easeOutBounce";
var menus = $('div.menu ul li.menu-title'),
current_submenu = null;
menus.next().hide();
menus.each(function (i) {
var dropdown = $(this).next(),
title = $('a.title', this);
title.click(function (e) {
if (current_submenu !== null && current_submenu !== dropdown) {
current_submenu.slideUp('slow');
}
current_submenu = dropdown;
dropdown.stop(false, true).slideToggle('slow');
e.preventDefault();
});
if (i == @ViewBag.OpenSubmenu)
title.click();
});
});
这个
@ViewBag.OpenSubmenu
是一个整数,它指定在这种情况下哪个菜单应该被0或1打开。好的,我没有直接使用你的代码,但我相信我有这个功能
您可以通过单击标签来控制它,也可以通过调用将打开任何一个标签的函数来控制它
$('.title').click(function(){
$(this).siblings( 'div' ).toggle( "slide" );
});
opensesame(3);
function opensesame (divnum)
{
$(' .holder:nth-child('+ divnum +') ').children( 'div:not( :nth-child(1) )' ).toggle( 'slide' );
}
也许它会给你一些想法。一把小提琴会很好。好的,谢谢你的时间。记住你的代码,这个opensesame函数怎么能打开菜单却没有任何效果呢?效果应该出现在三个标签上。这是正确的。如果你看小提琴,只有第三个子菜单是打开的。如果将数字更改为2,则会打开第二个子菜单。我也一样。您可以编写一个类似的函数,当您满足某些条件“如果我的第一个菜单打开,我不想做任何事情”时,您将向h函数传递一个“0”。“如果我的第一个菜单关闭,我将打开第二个菜单”,您将向函数传递一个“2”。它允许您在任何“如果”条件下打开或关闭任何菜单。在关闭任何操作方面,只需禁用菜单上的“单击”即可。这里有一个小提琴,您可以在其中取消激活或“解除绑定”,甚至可以单击任何元素-。