无法停止js代码
Can not stop js code
我有一个名为"count"
的div
,现在我想将其值从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>
但计数器并没有停止。怎么了?
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>
试试这个:
在控制台中粘贴时可以正常工作。
var i = 0;
var refreshId = function() {
$('#count').text(i);
i++;
console.log(i);
if (i > 10) {
clearInterval(a);
}
};
a = setInterval(refreshId, 500);
由于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;
}
嗯,我不知道这段代码中到底发生了什么(除了你写的内容),但纯粹从观察来看,refreshID似乎是在I==10之后被调用的。
另一个选项是使用递归setTimeout
:
var i = 0;
var refreshFunction = function() {
$('#count').text(i);
i++;
if (i <= 10) {
setTimeout(refreshFunction, 500);
}
};
$(document).ready(function() {
setTimeout(refreshFunction, 500);
});
相关文章:
- Meteor JS中代码的重复使用部分
- 骨干模型默认值-todos.js示例中不必要的代码
- 为什么indexOf在这个js代码中不起作用
- 点击facebook像素跟踪注册(JS/JQUERY代码)
- js代码从jQuery转换为原生代码
- JS代码中的减号
- 将JS函数传递给Emscripten生成的代码
- 谷歌地图Api和JS代码不工作
- HTML 5 和 3.js 代码不会在网页上显示任何内容
- Node.js:异步代码 + js 闭包的问题
- Chrome 开发者工具 - 控制台.log原生代码 JS
- 为jQuery和KNOCKOUT通用化javascript代码.js成为一个可重用的模块
- .ninnerHtml代码(JS/JQuery)无法识别html表中的动态内容
- 生成唯一的6位代码js
- 我得到了“;赋值中的左侧无效“;在我的代码(JS)中
- 更改代码(JS)中JQuery Mobile Calendar日期的状态
- 如何改进代码JS(Jquery)?一个简单的下拉列表
- 从传输中了解代码.js
- 这段代码(JS)的区别是什么?
- JavaScript倒计时计时器代码[JS]