Php JavaScript倒计时(向上计数)毫秒太快,无法加载下一页?

Php JavaScript倒计时(向上计数)毫秒太快,无法加载下一页?,php,javascript,performance,setinterval,countdown,Php,Javascript,Performance,Setinterval,Countdown,当我将setInterval(function()向下(或向上,我猜是速度方面)设置为100或500时,javascript太快了,并且不会加载mypage.php,因为我认为它没有时间。我也不想减慢计数器的速度。那么有没有一个php等价物可以这样做?(有这样的小数字显示,请参阅jsfiddle)或者有更好的javascript计数器吗?更喜欢php,有什么想法吗 谢谢你,任何帮助都会很好 将页面链接更改为#,否则将冻结内容 还添加了exit;,但没有帮助 <html> <he

当我将
setInterval(function()
向下(或向上,我猜是速度方面)设置为
100
500
时,javascript太快了,并且不会加载
mypage.php
,因为我认为它没有时间。我也不想减慢计数器的速度。那么有没有一个php等价物可以这样做?(有这样的小数字显示,请参阅jsfiddle)或者有更好的javascript计数器吗?更喜欢php,有什么想法吗

谢谢你,任何帮助都会很好

将页面链接更改为
#
,否则将冻结内容 还添加了
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>

函数倒计时(){
var i=document.getElementById('counter');
if(parseInt(i.innerHTML)>=3000){
location.href='mypage.php';
出口
}
i、 innerHTML=parseInt(i.innerHTML)+1;
}
setInterval(函数(){countdown();},.75);
倒数:10

JS:

var-sec=0;
var interval=750;//毫秒
var stop=5;//秒
功能板(val){返回val>9?val:“0”+val;}
setInterval(函数(){
if(document.getElementById(“秒”).innerHTML
Html:

替换

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

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

clearInterval(t);

首先,我不明白当你数的时候为什么叫倒计时

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

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

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


你知道你正在刷新每个循环的页面,对吗?(请参见小提琴页面上浏览器的停止/刷新按钮)哇,chrome bug。无法再关闭页面。抱歉,伙计:)修复不够快,请尝试,在我重新发布错误的JSFIDLDLESETINTERVAL时,JSFIDLESETINTERVAL采用整数参数,而不是浮点。我希望将其设置为.75将使JS将其舍入为1,并每1次执行一次间隔事件。因为setinterval使用的时间单位是微秒。。。。如果你想要3/4秒的延迟,那么你需要将间隔设置为750,而不是75。是的,我知道以前改变过。。。很抱歉。(还是要快)而且要快?并加载mypage.php?添加一个间隔变量(毫秒)。在括号之间,您可以做任何您想做的事情。但是每0.75秒加载一个页面可能不是你能做的最好的事情..从来不是目标:)只是让计数器停止并加载新页面为你编辑脚本。现在可以添加停止时间。如果停止时间已过,则将重定向到另一页。希望这会有帮助!谢谢,这是一个倒计时脚本:)不会工作,因为只有JSFIDLE或任何iframe上的iframe?关于嵌入呢?您还可以将
parseInt(i.innerHTML)+1
设置为一个变量,这样您就不必解析两次:)如果此脚本位于iframe中,我想您需要
window.parent.location.href
setInterval(function(){ countdown(); },.75);
var t = setInterval(function(){ countdown(); },.75);
clearInterval(t);
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";
    }
}