javascript - setInterval()不执行的问题
迷茫
迷茫 2017-04-10 16:07:05
[JavaScript讨论组]


    
        
        倒计时效果
        
        
    
    
        

倒计时效果


小时

window.onload=function(){ var time=new Date();//获取当前时间 var yer=time.getFullYear();//年 var month=time.getMonth()+1;//月 var day=time.getDate();//天 var h=time.getHours();//时 var m=time.getMinutes();//分 var s=time.getSeconds();//秒 //var mil=time.getMilliseconds();//毫秒 var ownDate=yer+'年'+month+'月'+day+'日'+h+'时'+m+'分'+s+'秒'; function a(){ document.formnow.txt.value=ownDate; } window.setInterval(a,1000); }

//为什么window.setInterval(a,1000);只执行一次后就在也不执行呢????????????????

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(2)
天蓬老师

因为你把setInterval()写在window.onload函数里了,而window.onload只会执行一次,所以它里面的函数,也只会执行一次。

另外补充一下,一般调用setInterval()的时候,这样写:

setInterval("time()",1000);

前面不用加window

巴扎黑
window.onload = function() {
    setInterval(function() {
        var time=new Date();//获取当前时间
        var yer=time.getFullYear();//年
        var month=time.getMonth()+1;//月
        var day=time.getDate();//天
        var h=time.getHours();//时
        var m=time.getMinutes();//分
        var s=time.getSeconds();//秒
        //var mil=time.getMilliseconds();//毫秒
        var ownDate=yer+'年'+month+'月'+day+'日'+h+'时'+m+'分'+s+'秒';
        document.formnow.txt.value=ownDate;
    }, 500);
}

变量声明全部包裹在a方法里即可。
提示两点:

  1. setInterval尽量使用匿名方法

  2. 这种现实当前时间的,一般用半秒执行一次,这样能避免打开网页不在整秒的问题

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号