javascript - 两个按钮可在两个功能和一个功能之间切换

标签 javascript jquery jquery-ui

有 2 个按钮和两个功能。

Button1 应该在 functionA 和 functionB 之间切换。 Button2 应该始终只触发 functionB。

$("#hamburger").click( toggleAB );

$("#close").click(function(){
   functionB();
});

functionA(){ //expand menu }
functionB(){ //collapse menu }

function toggleAB(){
    var el = this;
    return [
      function() { functionA(); },
      function() { functionB(); }
    ][el.tog^=1]();
}

目前 $("#hamburger") 在两个函数之间完美切换。但是,如果我单击 $("#close") 按钮,那么我必须单击 $("#hamburger") 按钮两次才能继续在两个函数之间切换.

我的问题是如何让 $("#hamburger") 在 functionA 和 functionB 之间切换,即使 $("#close") 按钮是点击与否?

最佳答案

实现此目的的最简单方法是在按钮上存储一个标志,这样您就可以知道最后调用了哪个函数,从而知道接下来要调用哪个函数。试试这个:

$("#hamburger").click(function() {
  var clicks = $(this).data('clicks') || 0;
  clicks % 2 == 0 ? functionA() : functionB();
  $(this).data('clicks', ++clicks);
});

$("#close").click(function() {
  functionB();
});

function functionA() {
  console.log('A');
}
function functionB() {
  console.log('B');
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="hamburger">Hamburger</button>
<button id="close">Close</button>

关于javascript - 两个按钮可在两个功能和一个功能之间切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50852907/

相关文章:

javascript - HTML CANVAS 减慢运动速度

javascript - 单击浏览器后退按钮或移动设备后退按钮时保留所选选项卡

php mysql 从数据库中检索上传的照片

jquery - 使用 Filter 方法未获取所需元素

javascript - 当一个元素被拖动时,拖动类的所有元素(jQuery UI Draggable)

javascript - 如果未指定文件上传,Google Apps 脚本中会出现错误

javascript - 输入输入时自动滚动

javascript - easyInOutQuad 淡入

javascript - jQuery 小部件开发 - 我可以使用 MVC 模式吗?

javascript - 通过提供值列表(字符串)构造键值对数组