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

麻烦看下有什么 问题???

麻烦看下有什么 问题???

qq_木头人_19 2017-09-05 10:50:44
<script>         window.onload=function(){ var sp=document.getElementById("time"); var txet=document.getElementById("txt"); var time=new Date(); var year=time.getFullYear(); var month=time.getMonth(); var day=time.getDate(); var hours=time.getHours(); var minute=time.getMinutes(); var second=time.getSeconds(); var t=year+"年"+month+"月"+day+"日" + hours+":"+minute+":"+second; function aa(){ sp.innerHTML=t; } setInterval('aa()',1000); }     </script>这里为什么会报错啊??
查看完整描述

3 回答

已采纳
?
FSYu

TA贡献152条经验 获得超59个赞

window.onload = function() {

    var sp = document.getElementById("time");
    var txet = document.getElementById("txt");

    setInterval(function() {
        var time = new Date();
        var year = time.getFullYear();
        var month = time.getMonth();
        var day = time.getDate();
        var hours = time.getHours();
        var minute = time.getMinutes();
        var second = time.getSeconds();

        var t = year + "年" + month + "月" + day + "日" + hours + ":" + minute + ":" + second;
        sp.innerHTML = t;
    }, 1000);

}

好像是这个意思吧

还有,这个应该这么写 setInterval(aa, 1000);


查看完整回答
反对 回复 2017-09-05
  • qq_木头人_19
    qq_木头人_19
    为什么 我那么写不行了 这看起来感觉差不多啊?
  • FSYu
    FSYu
    你是想一秒获取一次写上去一次,你只在onload里获取了一次时间,定时器里语法还错了,应该每秒获取一次,然后在写上去,都是要在定时器里完成的
?
橋本奈奈未

TA贡献436条经验 获得超108个赞

setInterval的第一个参数如果是字符串的话。等同于eval()函数,会改变作用域,你试下把aa定义成全局就可以了


window.aa = function(){
sp.innerHTML=t;
}


查看完整回答
1 反对 回复 2017-09-05
?
橋本奈奈未

TA贡献436条经验 获得超108个赞

最好不要使用字符形式。js中有一些api和语法会改变作用域,尽量避免使用

查看完整回答
反对 回复 2017-09-05
?
蜂之谷

TA贡献564条经验 获得超863个赞

为啥要放到onload中

<script> 
	var sp=document.getElementById("time");
	var txet=document.getElementById("txt");
	function aa(){
		var time=new Date();
		var year=time.getFullYear();
		var month=time.getMonth();
		var day=time.getDate();
		var hours=time.getHours();
		var minute=time.getMinutes();
		var second=time.getSeconds();
		 
		var t=year+"年"+month+"月"+day+"日" + hours+":"+minute+":"+second;
		sp.innerHTML=t;
	}
	 
	setInterval('aa()',1000);
</script>
查看完整回答
反对 回复 2017-09-05
点击展开后面2
  • 3 回答
  • 0 关注
  • 2420 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信