看我的例子。脚本应该将变量设置为零,然后每秒加1。相反,该值每秒加倍。任何人都知道出了什么问题?
<script>
function count_it()
{
window.counts = window.counts+1;
$('.result').html(window.counts);
window.setInterval(count_it, 1000);
}
$('document').ready(function(){
window.counts = 0;
count_it();
});
</script>
答案 0 :(得分:3)
count_it()
不断调用setInterval()
作为参数,因此不断加倍。您需要将count_it()
中的ready()
替换为window.setInterval(count_it, 1000)
,并从window.setInterval(count_it, 1000)
中删除count_it()
。
答案 1 :(得分:1)
setInterval()
每1000毫秒调用传入的函数,直到您调用clearInterval()
。您可以选择切换为setTimeout()
,每次拨打setTimeout()
时只调用传入的功能一次,或者setInterval()
功能只调用一次ready
并从count_it
删除来电。