【问题标题】:Javascript toggle/switch?Javascript切换/切换?
【发布时间】:2012-12-15 15:15:01
【问题描述】:

有没有比我使用的更好的方法来实现切换/切换。它有效,但对我来说似乎很笨拙。

var foo = true;

$(document).on("click","$element",function(){
    if(foo){
     //code
     foo = false;
    }
    else{
      //code
      foo = true;
    }
});

【问题讨论】:

  • 这取决于代码是否only翻转foo,或者代码块内是否发生任何其他事情..
  • 不,这对我来说似乎没问题。如果您只是想反转值 HBP 下面的答案会这样做,如果您需要更多代码,如 //code cmets 所示,那么您似乎做对了。

标签: javascript jquery toggle switch-statement


【解决方案1】:

这更短更甜:

   foo = !foo

除非中间代码不同,在这种情况下解决方案取决于该代码。

【讨论】:

    【解决方案2】:

    你可以这样做:

    var foo = true;
    $(document).on("click","$element",function(){ foo=!foo; }
    

    但是由于您使用的是 jQuery,您可能希望将其存储在数据属性中:

    $(document).on("click","$element",function(){
      $(this).data('foo', !$(this).data('foo'));
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多