我有两个布尔型变量和两个函数的定时器。第一个计时器是通过一次点击触发的,它实现了一个布尔值;一旦计时器达到某些条件,此计时器关闭,将布尔值设置为false,并触发另一个计时器,将第二个布尔值设为true并调用第二个计时器。从另一个调用函数,反之亦然
一旦第二个定时器达到某些条件,定时器关闭设置第二个布尔值false,我尝试触发第一个定时器,设置第一个布尔值为true并调用第一个定时器,但它没有工作。
我不能调用在我调用函数的地方声明的函数。
我的JavaScript代码是:
var active=false;
var activeBreak=false;
...
function breakDown(){
if(activeBreak){
...
if(some conditions){
active=true;
activeBreak=false;
countDown();// **This call doesn't work.Black in jsbin**
}
}
}
function countDown(){
if(active){
...
if(someConditions){
active=false;
activeBreak=true;
breakDown();// *This call works. Blue in jsbin*
}
}
}
...
$("#circle").click(function(){
active=true;
countDown(); // *This call works*/
});
你能提供一个[小提琴](https://jsfiddle.net/)? – GMaiolo
也许'someConditions'永远不会发生? ..是否有任何使用js超时功能? – dev8080
是的条件发生。我使用的是jsbin.com,而函数countDown对breakDown()的调用是蓝色的(active),但是函数breakDown对countDown()的调用是黑色的(没有激活),那就是发生了什么。 – user1881983