setInterval() :按照指定的周期(以毫秒计)来调用函数或计算表达式。方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。setInterval()函数用法如下:
setInterval() ("调用函数","周期性执行或调用code之间的时间间隔"),
function hello(){ alert("hello"); }
重复执行某个方法:
var t1= window.setInterval("hello()",3000);
去掉定时器的方法
window.clearInterval(t1);
setTimeout() :在指定的毫秒数后调用函数或计算表达式。
setTimeout()函数用法如:setTimeout("调用函数","在执行代码前需等待的毫秒数。")
只执行一次,3 秒后显示一个弹窗:var t=setTimeout(function(){alert("Hello")},3000)
实现循环调用需要把setTimeout定时器函数写在被调用函数里面。如下:
function show(){
alert("Hello");
var myTime = setTimeout("show()",1000);
}
关闭定时器的用法:clearTimeout(myTime);
其中,myTime为setTimeout()函数返回的定时器对象。
getDay() 返回星期,返回的是0-6的数字,0 表示星期天。如果要返回相对应“星期”,通过数组完成,代码如下:
var mydate=new Date();//定义日期对象
var weekday=["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]; //定义数组对象,给每个数组项赋值
var mynum=mydate.getDay();//返回值存储在变量mynum中
document.write(mydate.getDay());//输出getDay()获取值
document.write("今天是:"+ weekday[mynum]);//输出星期几
更简便的方法输出今天是星期几
var mydate=new Date();
var mynum=mydate.getDay();//获取星期几的数字赋值与myname
if(mynum==0){
document.write("今天是星期七");
}
else
document.write("今天是星期"+mynum);
日期对象可以储存任意一个日期,并且可以精确到毫秒数(1/1000 秒)。
定义一个时间对象 :
var Udate=new Date();
注意:使用关键字new,Date()的首字母必须大写。
使 Udate 成为日期对象,并且已有初始值:当前时间(当前电脑系统时间)。
如果要自定义初始值,可以用以下方法:
var d = new Date(2012, 10, 1); //2012年10月1日 var d = new Date('Oct 1, 2012'); //2012年10月1日
我们最好使用下面介绍的“方法”来严格定义时间。
访问方法语法:“<日期对象>.<方法>”
Date对象中处理时间和日期的常用方法:
生日倒计时
返回距 1970 年 1 月 1 日之间的毫秒数:
var d = new Date();
var n = d.getTime();
n 输出结果:
1588159318399
尝试一下 »
getTime() 方法可返回距 1970 年 1 月 1 日之间的毫秒数。
所有主要浏览器都支持 getTime() 方法
Date.getTime()
类型 |
描述 |
Number |
指定的日期和时间距 1970 年 1 月 1 日午夜(GMT 时间)之间的毫秒数。 |
JavaScript 版本: |
1.0 |
在下面的例子中,我们将计算出从 1970/01/01 至今有多少年:
var minutes=1000*60;
var hours=minutes*60;
var days=hours*24;
var years=days*365;
var d=new Date();
var t=d.getTime();
var y=Math.round(t/years);
y 输出结果:
50
运行的闹钟
#time{ height:100px; | |
background:url(考试用图1.jpg)no-repeat; | |
padding:20px 5px 5px 126px; | |
color:#0000FF; | |
font-size:28px; | |
} | |
var time=document.getElementById('time'); | |
var ks=new Date(); | |
var msks=ks.getTime();//换成毫秒值 | |
var js=msks+15*60*1000; | |
function jsover(){ | |
var syfz=Math.floor((js-new Date().getTime())/(1000*60));//计算剩余的分钟数 | |
var sym=Math.floor((js-new Date().getTime()-syfz*1000*60)/(1000));//计算剩余的秒数 | |
if(syfz<5) time.style.background="url(考试用图1.jpg) no-repeat";//更换为紧张的图片背景 | |
if(syfz<2) time.style.background="url(考试用图2.jpg) no-repeat"; | |
if(syfz<0) | |
{time.innerHTML(""); | |
clearInterval(timeID); | |
} | |
else | |
time.innerHTML="离考试结束还剩"+syfz+"分"+sym+"秒"; | |
} | |
timeID=setInterval("jsover()",1000); | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|