0

setInterval(function()当我放下(或向上,我猜,速度明智)到100500不会加载时, javascript太快 了,mypage.php因为我认为它没有时间?也不想放慢反击速度。那么有没有可以等效的php?(像这样的小数字显示,见jsfiddle)还是有更好的javascript计数器?更喜欢php,有什么想法吗?

非常感谢,任何帮助都会很棒。

将页面链接更改为#因为它会冻结其他内容 http://jsfiddle.net/aEXgB/2/ 也添加exit;但没有帮助。

<html>
<head>
<script type="text/javascript">
function countdown() {
   var i = document.getElementById('counter');
   if (parseInt(i.innerHTML)>=3000) {
       location.href = 'mypage.php';
       exit;
   }
   i.innerHTML = parseInt(i.innerHTML)+1;
}
setInterval(function(){ countdown(); },.75);
</script>
</head>
<body>

<div style="margin-left:20px; float:left;"><p>Countdown:<font color="#33CC00"> <span     id="counter">10 </span></font></p></div>
</body>
</html>
4

3 回答 3

0

代替

setInterval(function(){ countdown(); },.75);

var t = setInterval(function(){ countdown(); },.75);

然后就在函数退出之前,添加;

clearInterval(t);
于 2013-03-14T12:37:55.137 回答
0

JS:

var sec = 0;
var interval = 750; // milliseconds
var stop = 5; // seconds
function pad ( val ) { return val > 9 ? val : "0" + val; }
setInterval( function(){
     if(document.getElementById("seconds").innerHTML <  stop) {
        document.getElementById("seconds").innerHTML=pad(++sec%60);
     } else {
        location.href = 'http://google.nl'
     }
}, interval);

html:

<div id="seconds></div>

小提琴:http: //jsfiddle.net/5tM3A/5/

于 2013-03-14T12:35:24.470 回答
0

首先,我不明白为什么当你计数时它被称为倒计时。

其次,我认为最好更新计数器然后检查值。这样你就不需要额外调用这个coundown函数了。

第三,在改变位置之前清除间隔,因为间隔可能再次被触发太快。

第四,这实际上在 jsfiddle 中不起作用,因为 jsfiddle 如何使用 iframe :)

var interval = setInterval(function(){ countdown(); },.75);
function countdown() {
    var i = document.getElementById('counter');
    i.innerHTML = parseInt(i.innerHTML)+1;
    if (parseInt(i.innerHTML)>=3000) {
        clearInterval(interval);
        window.location.href = "mypage.php";
    }
}
于 2013-03-14T12:43:10.497 回答