倒计时功能是'实际上并没有倒计时
Countdown function isn't actually counting down
-
我在.js文件中有一个函数,它应该显示从10-0开始的倒计时。一旦它达到0,它应该会打开第二个页面。我还没有写它打开页面的部分,但这不是我目前的问题。我的问题是倒计时会显示数字1,而不做其他任何事情。我真的不知道为什么。
-
这是的倒计时功能
function startCountdown() { for (var i = 10; i >= 0; i--) { document.getElementById("countdown").value = i; } }
-
这是一个称之为的函数
function startAdPage() { setInterval(changeAd(), 2000); setInterval(startCountdown(), 1000); }
-
最后,这是它要发送到的HTML代码。一切都是由调用
onload
方法的body标记启动的。我知道这个部分是有效的,因为我让它做一些其他正常工作的事情。<div id="counter"> <p>The Central Valley Realtors home page will display in <input type="text" value="" class="countdown"/> seconds</p> </div>
setInterval
的第一个参数是一个函数。您不是在传递函数,而是在调用函数并传递它返回的任何内容,因为函数名后面有()
。
此外,您不需要在更新倒计时字段之间等待。Javascript是单线程的,在脚本返回之前页面不会更新。你需要这个:
function startAdPage(){
var curCounter = 10;
function startCountdown() {
document.getElementById("countdown").value = curCounter;
curCounter--;
if (curCounter == 0) {
clearInterval(countdownInterval);
}
}
setInterval(changeAd, 2000);
var countdownInterval = setInterval(startCountdown, 1000);
}
startCountdown
内部的循环一直运行到循环结束,因此值最终为0。此外,您应该在没有参数的情况下将Anonymous函数或未执行的函数传递给setInterval
和clearInterval
。当您在函数名称的末尾添加()
时,您正在执行该函数。将<input type='text' class='countdown' />
更改为<input type='text' id='countdown' />
,然后尝试以下操作:
function countdown(begin, end, interval, outputElement){
var repeat = setInterval(function(){
if(outputElement.innerHTML){
outputElement.innerHTML = begin--;
}
else{
outputElement.value = begin--;
}
if(begin === end)clearInterval(repeat);
}, interval);
}
countdown(10, 0, 1000, document.getElementById('countdown'));
相关文章:
- 如何在窗体打开时从javascript倒计时计时器值中节省时间
- 设置倒计时计时器,IE出现问题
- 显示具有服务器端自动时间注销的同步倒计时计时器
- 倒计时计时器应该持续两个php页面
- call()和apply()实际上是用来欺骗方法处理类似数组的对象的
- 在Jquery倒计时计时器上设置每个数字的动画
- Javascript倒计时计时器倒计时未正确更新秒/分钟
- 结束后Javascript倒计时计时器重定向
- 停止javascript倒计时
- Javascript.闭包和dynamic'这'实际上具有约束力
- 页面可见性API实际上支持操作系统屏幕锁定吗
- 每小时倒计时一次,但以30分钟为单位
- 创建一个倒计时计时器脚本,该脚本计算声音文件的持续时间,而不是特定的日期
- 递归倒计时计时器
- 如何在拍卖广告中添加倒计时
- 制作一个按钮倒计时计时器,该计时器将在5分钟后永久禁用,即使在页面刷新时也应保持禁用状态
- 我需要JS/jQuery中的倒计时计时器
- 我的时间倒计时脚本在谷歌浏览器中工作正常,但在其他浏览器中打开时它显示为南楠
- 双倒计时定时器
- 倒计时功能是'实际上并没有倒计时