使用Javascript制作定时器
利用JavaScript定时器的方法制作简单的简单定时器首先我们要介绍几个方法:
格式:setInterval(函数,毫秒)
功能:每隔对应的毫秒数执行一次函数。
返回值:启动定时器的系统分配的系统编号;
clearInterval(timer);取消定时器
使用setInterval(函数,毫秒)时,其中的函数参数可以是先定义好的函数如代码1;也可以是定义好的匿名函数,如代码2;同时可以直接在其中些函数如代码3;需要注意的是,传入的是一个函数,不是函数的返回值。
//代码1:
var i = 0;
function show(){
if(i == 5){
clearInterval(timer);
}
document.write(i++ + "<br/>");
}
var timer = setInterval(show, 1000);
//代码2:
var i = 0;
var show = function(){
if(i == 5){
clearInterval(timer);
}
document.write(i++ + "<br/>");
}
var timer = setInterval(show, 1000);
//代码3:
var i=0;
var timer = setInterval(function(){
if(i == 5){
clearInterval(timer);
}
document.write(i++ + "<br/>");
}, 1000);
学习了计时器的方法,现在让我们通过计时器来制作以个简单的日期计时。
代码如下:
<script>
function showTime(){
var d = new Date();//获取当前的对象
var year = d.getFullYear();//获取当前的年
var month = d.getMonth() + 1; //0~11 获取前的月
var date = d.getDate();//获取当前的日
var week = d.getDay(); //0~6 0是周日
week = numOfChinese(week);
var hour = doubleNum(d.getHours());
var min = doubleNum(d.getMinutes());
var sec = doubleNum(d.getSeconds());
var str = year + "年" + month + "月" + date + "日 星期" + week + " " + hour + ":" + min + ":" + sec;
return str;
}
//数字转成中文 转换showtime()中的week.
function numOfChinese(num){
var arr = ["日", "一", "二", "三", "四", "五", "六"];
return arr[num];
}
//转换showtime中的hour\min\sec
function doubleNum(n){
if(n < 10){
return "0" + n;
}else{
return n;
}
}
setInterval(function(){
var oDiv = document.getElementById("div1");
oDiv.innerHTML = showTime();
}, 1000);
</script>
以上的代码中有关于获取当前的日期年 月 日 星期几 时 分 秒 的方法已经进行封装,可以放入一个tool.js的文件中便于调用;有利于代码复用。如下
<script src = 'tool.js'></script>
<script>
setInterval(function(){
var oDiv = document.getElementById("div1");
oDiv.innerHTML = showTime();
}, 1000);
</script>