Jquery 如何使我的菜单在第二次单击时调用不同的操作?

Jquery 如何使我的菜单在第二次单击时调用不同的操作?,jquery,Jquery,我希望我的菜单在单击时将内容向右推 我编写了以下内容,以将.open类添加到site.wrapper .open类有一个“right:-320px”css规则,因此将内容向右拉 在第二次单击菜单图标时,我希望删除.open类,以便内容解析回左侧:0 var first_click = true; links.onclick = function () { if (first_click) { $(".sidebar-menu_btn").click(fun

我希望我的菜单在单击时将内容向右推

我编写了以下内容,以将.open类添加到site.wrapper .open类有一个“right:-320px”css规则,因此将内容向右拉

在第二次单击菜单图标时,我希望删除.open类,以便内容解析回左侧:0

var first_click = true;
links.onclick = function () {
    if (first_click) {
      $(".sidebar-menu_btn").click(function () {
        setTimeout(function () {
          $(".wrapper").addClass("open");
        }, 250);
      });
      first_click = false;
    } else {
      $(".sidebar-menu_btn").click(function () {
        setTimeout(function () {
          $(".wrapper").removeClass("open");
        }, 05);
      });
    }
  }

您可以使用一个jquery代码,而不是使用addClass和removeClass,它可以同时用于add和remove

只要写下你想添加的点击事件

 $(".sidebar-menu_btn").click(function(){
   setTimeout(function(){
     $(".wrapper").toggleClass("open");
    }, 250);
});

因此,当您第一次单击侧栏菜单时,它将添加类打开,第二次它将删除类打开。

这里@Anku的答案是好的,但对于
setTimeout
持续时间,我使用
hasClass
添加了条件:

$(".sidebar-menu_btn").on('click', function(){
    let hasClass = $(".wrapper").hasClass("open");
    setTimeout(function(){
        $(".wrapper").toggleClass("open");
    }, hasClass ? 5 : 250);
});

完美的谢谢,这是对代码的一个很好的扩展。工作请客,谢谢你的贡献!