繁体   English   中英

JavaScript适用于IE和Edge,但不适用于Chrome和Firefox

[英]JavaScript working on IE and Edge but not working on Chrome and Firefox

在IE和Edge上运行正常,但在Chrome和Firefox中显示NaN:NaN。 请提供原因和正确的解决方案,我尝试仅减少一小时。

<!--HERE IS MY CODE-->
<!--THE CODE CREATIN ERROR-->
<html>
<head>
<script>
    endtime="31/12/2015";
    var myvar=setInterval(myfunc,1000);//function calling after every 1 second
    var d=new Date();
    d.setHours(14);
    d.setMinutes(00);


    k=00;
    j=01;
    function myfunc()
    {strong text
        d.setSeconds(k);
        k++;
        if(k==60)
        {
            d.setMinutes(j);
            k=00;
            j++;
        }
        var t = parseFloat(Date.parse(endtime) - Date.parse(d));
        var seconds = Math.floor( (t/1000) % 60 );
        var minutes = Math.floor( (t/1000/60) % 60 );
        var hours = Math.floor( (t/(1000*60*60)) % 24 );
        var days = Math.floor( t/(1000*60*60*24) );
        document.getElementById("div1").innerHTML=minutes.toString()+":"+seconds.toString();/*HERE IT IS SAYING NAN:NAN IN CHROME AND FIREFOX*/
    }
</script>
</head>
<body>
<p id="demo"></p>
<div id="div1"></div>
</body>
</html>

尝试通过新方法解决问题并做到了。

<html>
<head>
    <script>

            var t = parseFloat(3600000);

            var myvar=setInterval(myfunc,1000);

            function myfunc()
            {
            if(t>0)
            {
            var seconds = parseFloat(Math.floor( (t/1000) % 60 ).toString());
            var minutes = parseFloat(Math.floor( (t/1000/60) % 60 ).toString());
            var hours = Math.floor( (t/(1000*60*60)) % 24 );
            var days = Math.floor( t/(1000*60*60*24) );
            document.getElementById("div1").innerHTML=minutes+":"+seconds;

            t=t-1000;
            };}
    </script>
</head>
<body>
<p id="demo"></p>
<div id="div1"></div>   
</body>
</html>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM