我是JQuery的新手,但是我无法弄清楚if语句为什么不起作用。您在代码中看到了,alert(a)
然后alert(timesRun)
将其放在此处,以便可以进行测试,以确保变量确实按预期计数并且它们确实计数。
现在的问题是:var a是由用户输入确定的,当它等于timerun时,应该使时钟停止,但是即使两个警报都说,if语句似乎也不起作用:var a =12
并且var timesrun is 12
即使if语句应该已经停止了时间间隔,该间隔也会继续。抱歉,如果我不清楚或混乱,我只是在读中学,甚至没有讲英语的人。
< script >
$(document).ready(function () {
$('#turnright1').click(function () {
var a = $("#nummr1").val();
var angle = 0;
var timesRun = 0;
var interval = setInterval(function () {
timesRun += 1;
alert(a);
alert(timesRun);
if (timesRun === a) {
clearInterval(interval);
}
angle += 3.6;
$('img[src^="Images/lockercenter.png"]').rotate(angle);
i++
}, 1000);
});
});
</script>
问题是$("#nummr1").val();
返回一个字符串,并且您正在检查与的严格相等性===
。要解决此问题,请将其更改为
if(timesRun == a){
clearInterval(interval);
}
`或
if(timesRun === parseInt(a)){ //or +a;
clearInterval(interval);
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句