Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/433.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript检查某些内容是否不可用';这不会在一段时间内发生_Javascript_Jquery_Duration - Fatal编程技术网

Javascript检查某些内容是否不可用';这不会在一段时间内发生

Javascript检查某些内容是否不可用';这不会在一段时间内发生,javascript,jquery,duration,Javascript,Jquery,Duration,是否有一种方法可以检查“如果myVar在20秒内没有改变(可以上升或下降,代码只是一个例子),做点什么,如果它确实改变了,重新开始倒计时”?我尝试了一些代码,但失败了 var myVar = uncontrollableNumber; $("#myButton").click(function(){ myVar++; }); 为了触发变量更改事件,您应该使用 function myFunction(myVar){ var oldMyVar = myVar; whil

是否有一种方法可以检查“如果myVar在20秒内没有改变(可以上升或下降,代码只是一个例子),做点什么,如果它确实改变了,重新开始倒计时”?我尝试了一些代码,但失败了

var myVar = uncontrollableNumber;
$("#myButton").click(function(){

    myVar++;

});

为了触发变量更改事件,您应该使用

function myFunction(myVar){
    var oldMyVar = myVar;
    while(oldMyVar === myVar){
        var countdownDone = false;
        //countdown then run function
        countdownDone = true;
    }
if(!countdownDone){
    myFunction();
}

有关详细信息,请参阅-

,以便触发您应该使用的变量更改事件

function myFunction(myVar){
    var oldMyVar = myVar;
    while(oldMyVar === myVar){
        var countdownDone = false;
        //countdown then run function
        countdownDone = true;
    }
if(!countdownDone){
    myFunction();
}
有关详细信息,请参阅-

这是给您的一个建议

还添加了一个代码段

var-myVar=0;
var-oldVar=0;
$(“#我的按钮”)。单击(函数(){
myVar++;
});
setInterval(函数(){
checkForChanges();//每2秒检查一次
oldVar=myVar;//现在将旧值重置为新值,因此在下一次检查期间,我们应该更改myVar。
},2000);
函数checkForChanges(){
如果(oldVar==myVar){
$('#response').append('相同的值没有任何变化!!'+'
'); //警报('相同的值没有任何更改!!'); } 否则{ $('#response').append('值已更改!!'+'
'); //警报('值已更改!!'); } }

点击我来改变!!
这是给你的礼物

还添加了一个代码段

var-myVar=0;
var-oldVar=0;
$(“#我的按钮”)。单击(函数(){
myVar++;
});
setInterval(函数(){
checkForChanges();//每2秒检查一次
oldVar=myVar;//现在将旧值重置为新值,因此在下一次检查期间,我们应该更改myVar。
},2000);
函数checkForChanges(){
如果(oldVar==myVar){
$('#response').append('相同的值没有任何变化!!'+'
'); //警报('相同的值没有任何更改!!'); } 否则{ $('#response').append('值已更改!!'+'
'); //警报('值已更改!!'); } }

点击我来改变!!

您是否尝试过
设置超时()
?您是想在变量改变时立即执行某项操作,还是想在20秒后执行某项操作,如果此时与原来的操作不同?@nnnnnn我对代码仍然很在行,但根据我的经验,如果变量改变,我无法找到有效的方法重新启动倒计时。您尝试过
setTimeout()
?你是想在它改变的那一刻做点什么,还是在20秒后做点什么,如果在那一刻它与原来的不一样的话?@nnnnnn我还是个代码迷,但根据我的经验,如果变量发生变化,我找不到一种有效的方法来重新启动倒计时。还请提及用户,这看起来很神奇,我将进一步研究它,可能在完成后实现它,但我太傻了,不理解所述的所有概念。而且,正如我上面的评论所说,它似乎只适用于firefox,所以这是一个否定。谢谢你让我注意到它。是的,你是对的。如果它是为了支持跨浏览器支持,以上不是值得信任的解决方案。还要提到用户这看起来很神奇,我会进一步研究它,也许在我完成后实施它,但我太傻了,不理解上面提到的所有概念。而且,正如我上面的评论所说,它似乎只适用于firefox,所以这是一个否定。谢谢你让我注意到它。是的,你是对的。如果它是为了支持跨浏览器支持,以上不是值得信任的解决方案。对于我的编码水平来说,简单易懂。非常感谢。简单易懂,适合我的编码水平。非常感谢。