我已将div
称为"count"
,现在我想将其值从0增加到10.这就是我的做法:
<script>
var i = 0;
var refreshId = function() {
$('#count').text(i);
i++;
if (i > 10) {
clearInterval(refreshId);
}
};
$(document).ready(function() {
setInterval(refreshId, 500);
});
</script>
但是反击并没有停止。怎么了?
答案 0 :(得分:5)
clearInterval()
获取setInterval()
函数返回的标识符。
<script>
var i = 0;
var refreshId;
var refreshFunction = function() {
$('#count').text(i);
i++;
if (i > 10) {
clearInterval(refreshId);
}
};
$(document).ready(function() {
refreshId = setInterval(refreshFunction, 500);
});
</script>
答案 1 :(得分:1)
试试这个:
粘贴到控制台时按预期工作。
var i = 0;
var refreshId = function() {
$('#count').text(i);
i++;
console.log(i);
if (i > 10) {
clearInterval(a);
}
};
a = setInterval(refreshId, 500);
答案 2 :(得分:1)
由于startTime()将运行500mls,使计数器在其内部增加到10,然后清除间隔。
var counter = 0;
var tt=setInterval(function(){startTime()},500);
function startTime()
{
if(counter == 10) {
clearInterval(tt);
} else {
counter++;
}
document.getElementById('count').innerHTML = counter;
}
答案 3 :(得分:0)
答案 4 :(得分:0)
另一个选择是使用递归setTimeout
:
var i = 0;
var refreshFunction = function() {
$('#count').text(i);
i++;
if (i <= 10) {
setTimeout(refreshFunction, 500);
}
};
$(document).ready(function() {
setTimeout(refreshFunction, 500);
});