Javascript逻辑开关基于"可被2"整除;

时间:2011-11-08 16:15:28

标签: javascript switch-statement

我正在尝试在Javascript中创建一个逻辑开关。目的是创建一个Javascript函数,该函数可用于触发按钮单击并打开或关闭特定日历源。当您第一次单击按钮时,它应该加载日历源,当第二次单击相同的按钮时,应该关闭源,如果第三次点击它则打开。

这是到目前为止的代码:

function click1() { 
  if (times11 % 2 == 0 )
       {$("#calendar").fullCalendar( 'addEventSource', {url: 'https://www.google.com/'});
      times11++;
       }
  else
       {$("#calendar").fullCalendar( 'removeEventSource', {url: 'https://www.google.com/'});
      times11++;
       }
       }

由于某种原因,我无法确定它的增量为2。

Ps:var times11在上面使用var times11 = 0;

定义

3 个答案:

答案 0 :(得分:2)

var _switch = false;

function click1() { 
  if (!_switch )
  {
      $("#calendar").fullCalendar( 'addEventSource', {url: 'https://www.google.com/'});
      _switch = true;
  }
  else
  {
     $("#calendar").fullCalendar( 'removeEventSource', {url: 'https://www.google.com/'});
     _switch = false;
  }
}

答案 1 :(得分:0)

你写的东西应该可以正常工作;请发布一个简化的示例,表明它无法提供进一步的帮助。请注意,您可以使用以下方法稍微简化/缩短代码:

// In general
function click1(){
  if (++times11 % 2) ...
  else ...;
}

// Specifically
function click1(){
  $('#calendar').fullCalendar(
    (++times11 % 2) ? 'addEventSource' : 'removeEventSource', 
    { ... }
  );
}

答案 2 :(得分:0)

也许你的问题与分号注射有关? 试试这段代码:

function click1() { 
  if (times11 % 2 == 0 ) {
      $("#calendar").fullCalendar( 'addEventSource', {url: 'https://www.google.com/'});
      times11++;
       }
  else {
       $("#calendar").fullCalendar( 'removeEventSource', {url: 'https://www.google.com/'});
      times11++;
  }
}