我在javascript中有多个变量(例如aValue,bValue,cValue)。所有这些变量最初都设置为0。现在我有多个函数/事件,这些函数/事件会根据我的自定义逻辑更改这些值。当所有这三个变量值都变为1时,我希望触发一个新事件,通过它可以更改DOM。

var aValue = 0;
var bValue = 0;
var cValue = 0;

// On doing something functionA is called
functionA() {
  aValue = 1;
}

//On triggering some event function is called
$(selector).on(event, function() {
  bValue = 1;
});

//On doing something functionC is called
functionC() {
 cValue = 1;
}


当所有这些函数都被调用时,我需要触发一个事件(从而将所有变量更改为1)。通过使用此事件,我想更改DOM。

就像是

$(selector).on(// when aValue == 1 && bValue == 1 && cValue == 1, function(){
  // do something
});


有没有办法做到这一点。

最佳答案

是的,使用一个函数,每次修改任何值时都调用它

var aValue = 0;
var bValue = 0;
var cValue = 0;

function testAll() {
  if(aValue  == 1 && bValue   == 1 && cValue   == 1){
    alert('triggered all');
  };
}

// On doing something functionA is called
functionA() {
  aValue = 1;
  testAll();
}

//On triggering some event function is called
$(selector).on(event, function () {
  bValue = 1;
  testAll();
});

//On doing something functionC is called
functionC() {
  cValue = 1;
  testAll();
}

07-26 08:39