Логический переключатель Javascript, основанный на «делится на 2» - PullRequest
0 голосов
/ 08 ноября 2011

Я пытаюсь создать логический переключатель в 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: переменная times11 определена выше с использованием var times11 = 0;

Ответы [ 3 ]

2 голосов
/ 08 ноября 2011
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;
  }
}
0 голосов
/ 08 ноября 2011

Может быть, ваша проблема связана с инъекцией точки с запятой? Попробуйте этот код:

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++;
  }
}
0 голосов
/ 08 ноября 2011

То, что вы написали, должно работать нормально; пожалуйста, опубликуйте урезанный пример, показывающий, что он не работает для дальнейшей помощи. Обратите внимание, что Вы можете немного упростить / сократить свой код с помощью:

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

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