如何使jquery菜单默认关闭

时间:2017-09-02 03:11:35

标签: javascript jquery

m new to JS, so I抱歉这么简单的问题。我有上下滑动菜单,我希望它在页面加载时默认关闭,在点击时打开。我怎样才能做到这一点?非常感谢您的回复。这是代码:

$('.button-show').click(function() {                             

    if ($(this).hasClass('hidden-menu')) {

        $(this).next().slideDown(300);

        $(this).removeClass('hidden-menu');

    } else {
       $(this).next().slideUp(300);

       $(this).addClass('hidden-menu');
    }

    return false;

4 个答案:

答案 0 :(得分:0)

页面加载时,您需要在菜单上设置.hidden-menu类。您可以将其直接添加到html中,以便隐藏它而无需运行任何javascript:

<div class="menu hidden-menu">

或者你可以在加载DOM之后使用一些javascript,这类似于你现在只在点击处理程序之外的地方:

$(".menu").addClass("hidden-menu")

答案 1 :(得分:0)

添加到.ready()功能以默认设置hidden-menu类:

// when your page finished loading
$(document).ready(function () {
   // check if there is no .hidden-menu class
   if (!$(".MENUCLASS").hasClass("hidden-menu")
   {
       // then add it
       $(".MENUCLASS").addClass("hidden-menu");
   }
});

或者只是简单地将它放在HTML元素中,没有麻烦:

<div class="MENUCLASS hidden-menu">
   // stuff
</div>

希望有所帮助

答案 2 :(得分:0)

在页面加载时你只需添加内联css display:none;

你的问题将得到解决。

答案 3 :(得分:0)

首先,您必须使用CSS默认隐藏div并应用jQuery,请参阅下面的代码

data: ((action.payload || []).data || []).
map(o => ({...o, created_at: moment(o.created_at).format('DD-MM-YYYY')})),