倒计时器中的JavaScript重定向循环

时间:2014-01-25 11:52:18

标签: javascript php

我的页面中有一个Javascript倒数计时器。一旦计数器返回零,我想将用户重定向到另一个页面。但是,我的页面正在进入重定向循环并继续重定向到自身。

var count=20;

setInterval(timer, 1000);

function timer()
{
    if(count > 0)
    {
        count = count - 1;
    }
    else
        window.location = "<?= site_url('quiz/complete/' . $session->id); ?>";

    document.getElementById("timer").innerHTML = count;
}

2 个答案:

答案 0 :(得分:1)

您需要按clearInterval()功能删除间隔。类似的东西:

var count=20;

var interval = setInterval(timer, 1000);

function timer()
{
  if(count > 0)
  {
    count = count - 1;
  }
  else {
    clearInterval(interval);
    window.location = "<?= site_url('quiz/complete/' . $session->id); ?>";
  }
  document.getElementById("timer").innerHTML = count;

}

答案 1 :(得分:0)

这是另一个简单的解决方案,纯JavaScript使用setInterval()函数显示倒数计时器:

// Countdown timer for redirecting to another URL after several seconds
var seconds = 7; // seconds for HTML
var foo; // variable for clearInterval() function

function redirect() {
    document.location.href = 'http://bubencode.com';
}

function updateSecs() {
    document.getElementById("seconds").innerHTML = seconds;
    seconds--;
    if (seconds == -1) {
        clearInterval(foo);
        redirect();
    }
}

function countdownTimer() {
    foo = setInterval(function () {
        updateSecs()
    }, 1000);
}

countdownTimer();

在这里查看JSFiddle:http://jsfiddle.net/bubencode/dn6xc932/

我希望你会发现它有用。