首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >同时折叠所有菜单并隐藏它们吗?

问同时折叠所有菜单并隐藏它们吗?
EN

Stack Overflow用户
提问于 2015-03-19 02:09:06
回答 1查看 125关注 0票数 1

由于某些原因,我不能让jQuery菜单同时折叠和隐藏。单独调用折叠或隐藏菜单是有效的,只是不是在同一时间。

为了折叠菜单,我使用了通过the jQuery documentation声明的$(menu).menu("collapseAll", null, true)。

因为隐藏了菜单,我打电话给$(menu).hide(),没什么花哨的。这是the documentation。

这是a JSFiddle of what I'm trying to do。选择一个菜单选项,然后单击“显示菜单”按钮。在此示例中,菜单在大约半秒后显示并折叠。最终,这个菜单将在我的代码中的许多地方使用,所以当菜单在第一次出现后显示给用户时,不要展开到最后一个菜单页面,这一点很重要。

EN

回答 1

Stack Overflow用户

发布于 2015-03-19 02:23:59

这个菜单看起来有一个内置的超时,当你点击一个项目时,你可以看到这一点,当你点击项目时,菜单不会立即折叠。它会立即隐藏,因为您有.hide(),并且它会立即执行。

我唯一能做你想做的事就是

http://jsfiddle.net/u2v2x049/7/

代码语言:javascript
复制
$(function () {
    var menu = $("#menu");

    menu.menu({
        select: function (event, ui) {
            $(this).menu("collapseAll", null, true);
            setTimeout(function () {
                menu.hide();
            }, 500);
        }
    });

    $("button").click(function (event) {
        menu.show();
    });
});

所以它会折叠所有的菜单,然后我在500毫秒后隐藏菜单。如果你想的话你可以加到400。我的猜测是菜单可能会检查它的可见性,如果它不可见,那么它就不会正确折叠。我并不真的使用这个UI,这是我能提供给你的全部。

实际上300ms似乎是一个完美的时间,http://jsfiddle.net/u2v2x049/8/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29129551

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档