我想用条件切换类,但是它不起作用,请告诉我哪里错了。上课应该 将立即打开,但3秒钟后关闭。预先感谢您的答复。
$(".sm-menu").click(function(menu){
setTimeout(('.menu_ul').toggleClass('menu_ul-off') menu, 3000);
});
答案 0 :(得分:0)
您可以像这样使用setTimeout()
第一次按此按钮将立即打开课程,第二次按三秒钟后将关闭按钮。您可以使用hasClass()
< / p>
$(".sm-menu").click(function(menu){
if(!$('.menu_ul').hasClass('menu_ul-off')){
$('.menu_ul').addClass('menu_ul-off');
}else{
setTimeout(function(){
$('.menu_ul').removeClass('menu_ul-off');
}, 3000);
}
});
.menu_ul{
display : none;
}
.menu_ul-off{
display : block;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="sm-menu">Menu Click<div>
<div class="menu_ul">Menu UL<div>
或,如果要添加课程,则可以使用delay()
和.queue()
,然后单击一键 < / p>
$(".sm-menu").click(function(menu){
$('.menu_ul').addClass("menu_ul-off").delay(3000).queue(function(next){
$(this).removeClass("menu_ul-off");
next();
});
});
.menu_ul{
display : none;
}
.menu_ul-off{
display : block;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="sm-menu">Menu Click<div>
<div class="menu_ul">Menu UL<div>