为了账号安全,请及时绑定邮箱和手机立即绑定

关于 setTimeout 和 setInterval 的问题

window.onload = function(){
    showTime();
    }
function showTime(){
    var oDiv = document.getElementById("fenx"),
        myDate = new Date(),
        year = myDate.getFullYear(),
        month = myDate.getMonth() + 1,
        date = myDate.getDate(),
        hour = myDate.getHours(),
        minute = myDate.getMinutes(),
        second = myDate.getSeconds(),
        day = myDate.getDay();
        weekDay = ["星期日","星期一","星期二","星期三","星期四","星期五","星期六",];
        if(second < 10 ){
            second = "0" + second;
            }
        oDiv.innerHTML =year + "年" + month + "月" + date + "日" + hour + "时" + minute + "分" + second + "秒" ;
        setTimeout(showTime,500);
    }


setTimeout(showTime,500);  setTimeout不是指定时间后执行一次吗,用它时间为什么还会不停的刷新呢。

反而用了setInterval(showTime,500);  后浏览器后卡死, 貌似是进了死循环一样 !!

正在回答

2 回答

如果你用这个setInterval(showTime,500); 方法,不要写在showTime方法体中,直接写在window.onload = function(){};方法中就行了。

0 回复 有任何疑惑可以回复我~

明白了 ,  setTimeout(showTime,500); 是执行了 showTime()这个函数,当执行了一次函数后 就执行了一次 setTimeout , 这样就就达到了循环效果  !!

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
倒计时效果
  • 参与学习       55626    人
  • 解答问题       242    个

电商网站限时抢购倒计时效果计算思路和方法,前端开发必备技术

进入课程

关于 setTimeout 和 setInterval 的问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信