首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在jQuery单击函数中使用jQuery时间间隔?

如何在jQuery单击函数中使用jQuery时间间隔?
EN

Stack Overflow用户
提问于 2017-05-30 17:59:00
回答 2查看 66关注 0票数 0

我正在创建一个下拉菜单,并需要隐藏菜单栏时,下拉展开,并显示在一个时间间隔后,当它是折叠的菜单。问题是,我所拥有的代码不是删除我要添加的“切换关闭”类,而是删除jQuery。结果是,在折叠下拉菜单后,菜单栏不会再次出现。问题是jquery函数中在时间间隔内的部分没有执行。

链接到页面

jQuery:

代码语言:javascript
复制
                    $( ".menu-close" ).click(function() {
                        var interval = setInterval(function () {
                            $( ".navbar-header" ).addClass( "toggle-on" );
                            $( ".navbar-header" ).removeClass( "toggle-off" );
                        }, 500);
                        clearInterval(interval);
                        $( "#mob-nav" ).removeClass( "margin-up" );
                        $( "#mob-nav" ).addClass( "margin-down" );
                        $( ".animated" ).removeClass( "go" );
                        $.scrollLock( false );
                    });
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-05-30 18:13:13

为什么不使用setTimout()?

代码语言:javascript
复制
$('.menu-open').on('click',function(){
    $('.navbar-header').addClass('toggle-off').removeClass('toggle-on');
    $('.animated').addClass('go');
    $('#mob-nav').addClass('margin-up').removeClass('margin-down');
    $.scrollLock( true );
});

密切功能

代码语言:javascript
复制
$('.menu-close').on('click',function(){
    setTimeout(function(){
        $('.navbar-header').addClass('toggle-on').removeClass('toggle-off');
    }, 500);
    $('#mob-nav').removeClass('margin-up').addClass('margin-down');
    $('.animated').removeClass( "go" );
    $.scrollLock( false );
});
票数 0
EN

Stack Overflow用户

发布于 2017-05-30 18:02:56

您可以实现此功能。

代码语言:javascript
复制
setInterval(function(){

    if(myDiv.style.display == "block"){
        myDiv.style.display = "none";
    }else{
        myDiv.style.display = "block";
    }

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

https://stackoverflow.com/questions/44268899

复制
相关文章

相似问题

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