想要自动刷新起码也要用个定时器,setTimeout递归或者setInterval。如下边这样:
//一秒刷新一次显示时间
setTimeout(showTime,1000);
检查了下你的代码,你的if分支有问题,可以改为switch。修正代码如下:
<!DOCTYPE html>
<html>
<body>
<p>点击下面的按钮来显示今天是周几:</p>
<button onclick="mytime()">点击这里</button>
<p id="demo"></p>
<script>
function mytime(){
var now = new Date();
var year = now.getFullYear();
var month = now.getMonth()+1;
var date = now.getDate();
var hours = now.getHours();
var minutes = now.getMinutes();
var seconds = now.getSeconds();
var day = now.getDay();
var dayDesc = "";
switch(day){
case 0:
dayDesc="星期天";
break;
case 1:
dayDesc="星期一";
break;
case 2:
dayDesc="星期二";
break;
case 3:
dayDesc="星期三";
break;
case 4:
dayDesc="星期四";
break;
case 5:
dayDesc="星期五";
break;
case 6:
dayDesc="星期六";
break;
}
var clock=year+"年"+month+"月"+date+"日"+hours+":"+minutes+":"+seconds+":"+dayDesc;
document.getElementById("demo").innerHTML=clock;
}
</script>
</body>
</html>
点击按钮正确显示当前系统时间。
测试地址:http://www.w3school.com.cn/tiy/t.asp?f=js_switch(将上诉代码复制到该网页提交代码即可)
用一个时间函数,setTimeout或者setInterval都行,设置为1秒执行一次