javascript - 在这种特定情况下没有 Accordion 效果的 Accordion 菜单

标签 javascript jquery css

在我的 asp.net mvc 应用程序中,我有垂直菜单

菜单一

  • 子菜单项 1
  • 子菜单项 2

菜单二

  • 子菜单项 1
  • 子菜单项 2

这个菜单使用了jquery的排列效果,初始设置为

MENU ONE
MENU TWO

点击菜单一或菜单二将打开菜单项。从我的 Controller ,我发送到应该在特定页面上展开哪个菜单的 View ,这很好。如果菜单已经展开,我正在寻找禁用 Accordion 动画的解决方案。

例如:用户导航到菜单二页面, Controller 发送将解包菜单二元素的标志。用户现在选择打开子菜单项 2 并且不应应用 Accordion 效果。如何关闭 Accordion 效果?

这是代码

$(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 的菜单。

最佳答案

好的,我没有直接使用你的代码,但我相信我有这个 FIDDLE 中的功能.

您可以通过单击标签来控制它,也可以通过调用将打开任何一个标签的函数来控制它。

$('.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' );
}    

也许它会给你一些想法。

关于javascript - 在这种特定情况下没有 Accordion 效果的 Accordion 菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22043962/

相关文章:

javascript - 如何在 JavaScript 中将两个依赖数组缩减为一个对象?

javascript - 停止变量增加,除非另一个变量 = max

jquery - 如何在 jQuery 中获取 CSS 高度值(而不是计算的高度)

javascript - 编写简单的 JQuery 插件

html - 对齐 li 内容底部的列表样式类型

javascript - 在 AJAX 请求后获取 div 的计数

javascript - angularjs 500内部错误

jquery - Owl Carousel ,导航中心

javascript - 如何保持一个元素固定而其余元素滚动?

html - 使用过渡调整高度和宽度时如何使 <div> 或 img 居中(保持居中)。