我是JQuery的新手,但是我无法弄清楚if语句为什么不起作用。您会在代码alert(a)
和alert(timesRun)
中看到它放在这里,以便可以测试变量是否确实按预期计数并且它们确实存在。
现在的问题是:var a由用户输入确定,当它等于timesrun时应该使时钟停止,但是即使两个警报都说:var a =12
和var timesrun is 12
,if语句似乎也不起作用,即使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);
}