做最好的自戈 2022-04-01 10:53 采纳率: 0%
浏览 38

用下面代码写的倒计时,在安卓pc打开都正常但是ios打开就显示NaN



```html

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>JS实现倒计时(天数,时,分,秒)</title>
 
</head>
<body>
 
<h2>剩余时间:</h2>
<div id="timer"></div>
 
 
<script language="javascript" type="text/javascript">
    timer('2023-11-20 12:00:00','day');
 
    /**
     * 入参第一个为时间字符串,第二个参数为模式选择,如果传入'day',按天数倒计时到秒,不传值,按小时精确到秒
     * @param timeStr
     * @param item
     */
    function timer(timeStr,item){
        setInterval(function(){
            let nowTime = new Date(timeStr) - new Date;
            let minutes = parseInt(nowTime / 1000 / 60 % 60, 10);//计算剩余的分钟
            let seconds = parseInt(nowTime / 1000 % 60, 10);//计算剩余的秒数
 
 
            minutes = checkTime(minutes);
            seconds = checkTime(seconds);
            if(item==='day'){
                let days = parseInt(nowTime / 1000 / 60 / 60 / 24, 10); //计算剩余的天数
                let hours = parseInt(nowTime / 1000 / 60 / 60 % 24, 10); //计算剩余的小时
                days = checkTime(days);
                hours = checkTime(hours);
                document.getElementById('timer').innerHTML=days + "天" + hours + "小时" + minutes + "分" + seconds + "秒";
            }else{
                let hours = parseInt(nowTime / ( 1000 * 60 * 60), 10); //计算剩余的小时
                hours = checkTime(hours);
                document.getElementById("timer").innerHTML = hours + "小时" + minutes + "分" + seconds + "秒";
            }
        },1000);
    }
 
    function checkTime(i) { //将0-9的数字前面加上0,例1变为01
        if (i < 10) {
            i = "0" + i;
        }
        return i;
    }
</script>
</body>
</html>



```

  • 写回答

1条回答 默认 最新

  • CSDN专家-showbo 2022-04-01 11:02
    关注

    改下面试试,主要是下面2句

    img

    
    
    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8">
        <title>JS实现倒计时(天数,时,分,秒)</title>
    
    </head>
    <body>
    
        <h2>剩余时间:</h2>
        <div id="timer"></div>
    
    
        <script language="javascript" type="text/javascript">
            timer('2023-11-20 12:00:00', 'day');
    
            /**
             * 入参第一个为时间字符串,第二个参数为模式选择,如果传入'day',按天数倒计时到秒,不传值,按小时精确到秒
             * @param timeStr
             * @param item
             */
            function timer(timeStr, item) {
    
                timeStr = timeStr.replace(/-/g, '/');//-替换成/,有些浏览器不支持中杠线的字符串作为Date的参数
                setInterval(function () {
                    let nowTime = new Date(timeStr).getTime() - new Date().getTime();//补充完整来,获取时间戳
                    let minutes = parseInt(nowTime / 1000 / 60 % 60, 10);//计算剩余的分钟
                    let seconds = parseInt(nowTime / 1000 % 60, 10);//计算剩余的秒数
    
    
                    minutes = checkTime(minutes);
                    seconds = checkTime(seconds);
                    if (item === 'day') {
                        let days = parseInt(nowTime / 1000 / 60 / 60 / 24, 10); //计算剩余的天数
                        let hours = parseInt(nowTime / 1000 / 60 / 60 % 24, 10); //计算剩余的小时
                        days = checkTime(days);
                        hours = checkTime(hours);
                        document.getElementById('timer').innerHTML = days + "天" + hours + "小时" + minutes + "分" + seconds + "秒";
                    } else {
                        let hours = parseInt(nowTime / (1000 * 60 * 60), 10); //计算剩余的小时
                        hours = checkTime(hours);
                        document.getElementById("timer").innerHTML = hours + "小时" + minutes + "分" + seconds + "秒";
                    }
                }, 1000);
            }
    
            function checkTime(i) { //将0-9的数字前面加上0,例1变为01
                if (i < 10) {
                    i = "0" + i;
                }
                return i;
            }
        </script>
    </body>
    </html>
    
    
    
    

    img


    有其他问题可以继续交流~

    评论

报告相同问题?

问题事件

  • 创建了问题 4月1日

悬赏问题

  • ¥15 安霸cv22 + rtl8211f 千兆,udp传输丢包
  • ¥15 关于区块链和边缘环境搭建的相关问题
  • ¥15 windows远程桌面断卡重连软件卡顿问题
  • ¥30 Unity 实现扫描效果
  • ¥15 HbuilderX检测不到安卓模拟器
  • ¥15 这个main已经在filename.obj中定义是什么错 C语言
  • ¥15 关于#linux#的问题:exsi8.0系统 怎么更改web访问端口,不用80、443
  • ¥15 使用elementor设计样式
  • ¥15 谁能提供一个中文版的推销咨询网站连接?
  • ¥15 springboot项目程序启动报错