如何使用 setInterval 或 setTimeout 并在计数期间显示结果
How can I use setInterval or setTimeout and display the results during the count?
我正在尝试在调用函数之前将计时器从 5 秒倒计时到零,我可以成功做到这一点,但我还没有能够在倒计时时显示计时器值。<div></div>
不是显示值,而是从空格变为"数字:0"。 我使用了setTimeout
和setInterval
,结果相同。
<script type="text/javascript">
for (i = 5; i > 0; i--) {
function countDown() {
setInterval(function () {
document.getElementById("displayDiv").innerHTML = "Number: " + i;
}, 1000);
}
}
</script>
我还尝试在没有帮助的情况下使用.value
代替.innerHTML
。
<input type="button" value="Count" onclick="countDown()" />
<div id="displayDiv" />
这似乎应该非常简单,但它让我难倒了。 任何帮助不胜感激
function countDown(i) {
var int = setInterval(function () {
document.getElementById("displayDiv").innerHTML = "Number: " + i;
i-- || clearInterval(int); //if i is 0, then stop the interval
}, 1000);
}
countDown(5);
演示:http://jsfiddle.net/DerekL/sFtqZ/(包括额外的回调参数)
试试
<script type="text/javascript">
function countDown() {
var i = 5;
var myinterval = setInterval(function() {
document.getElementById("displayDiv").innerHTML = "Number: " + i;
if (i === 0) {
clearInterval(myInterval);
//call your function
}
else {
i--;
}
}, 1000);
}
</script>
http://jsfiddle.net/pjSKa/
相关文章:
- 当查询不在displayField中时,引导Ajax Typeahead不显示结果
- JavaScript循环无法正确计算/显示结果
- 将循环中的两个文本框相乘,并在第三个文本框上显示结果
- BMI计算器以Javascript显示结果
- 在表中显示结果
- onchange选择get value并执行查询,然后在同一页面上显示结果
- 搜索XML文件并使用javascript显示结果
- Moment.js不显示结果
- 使用jQuery延迟表单输入,并在延迟后在同一页面上显示结果
- 防止 PHP 在新页面中显示结果
- jquery jqgrid 不显示结果,具体取决于 JSON 对象中的参数
- Angular-如何显示结果,仅在未选中时显示
- backbone.js视图没有't由于异步获取而显示结果;t渲染
- jqueryajax帖子将我发送到操作页面,并且不会显示结果数据
- 添加两个数字,并使用Javascript在文本框中显示结果
- 接受用户输入,与JSON数据匹配,并以javascript显示结果
- 自动完成 JQuery 不显示结果
- 控制台.log或显示结果的函数
- 提交表单,使用脚本处理信息,并在同一页面上显示结果
- AJAX 实时搜索仅当结果以相同的第一个字母开头时才显示结果