二、JavaScript语言--JS实践--倒计时效果

时间:2023-12-30 09:03:38

主要内容:分析不同倒计时效果的计算思路及方法,掌握日期对象Date,获取时间的方法,计算时差的方法,实现不同的倒时计效果。

  Javascript 日期对象:

  Date()返回当前的日期和时间

  getYear()返回年份,获得年最好用

  getMonth()返回月份值(从0开始,+1)

  getDate()查看Date对象,并返回日期(1-31)

  getDay()返回星期几(0-6)

  getHours()返回小时数(0-23)

  getMinutes()返回分钟数(0-59)

  getSeconds()返回秒数

  getTime()返回毫秒数

  getFullYear()方法来操作(完整格式,如2014)

例子:输出当前系统时间到页面指定位置:

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>当前系统时间</title>
<link rel="stylesheet" href="style.css" />
<script language="javascript" type="text/javascript"> window.onload = function(){
showTime();
}
function checkTime(i){ //补位处理
if(i<10){
i="0"+i;
}else{
return i;
}
}
function showTime(){
var now=new Date();
var year=now.getFullYear();
var month=now.getMonth()+1;
var day=now.getDate();
var week=now.getDay();
var h=now.getHours();
var m=now.getMinutes();
var s=now.getSeconds();
m=checkTime(m)
s=checkTime(s) var weekday=new Array(7)
weekday[0]="星期日"
weekday[1]="星期一"
weekday[2]="星期二"
weekday[3]="星期三"
weekday[4]="星期四"
weekday[5]="星期五"
weekday[6]="星期六" document.getElementById("show").innerHTML=""+year+"年"+month+"月"+day+"日 "+ weekday[week] +h+":"+m+":"+s;
t=setTimeout('showTime()',500)
}
</script>
</head>
<body>
<div class="content1">
<div id="show">显示时间的位置</div>
</div>
</body>
</html>

例子:实现使用时间差来转换倒计时效果

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>研究生考试时间</title>
<link rel="stylesheet" href="style.css" />
</head>
<script language="javascript" type="text/javascript">
window.onload = function(){
  var timedate= new Date(2016,4,15,9,0,0); //自定义结束时间
  var now =new Date(); //获取当前时间
  var date = timedate.getTime() - now.getTime(); //得出的为毫秒
  var time = Math.ceil(date/(1000*60*60*24)) ; //1000 * 60 * 60 * 24一天的秒数
if(time > 0 ){
document.getElementById('timeShow').innerHTML = time;
}
}
</script>
</head>
<body>
<div class="content2">
<div class="txtshow">距离设置时间还有<span id="timeShow"></span>天</div>
</div>
</body>
</html>

备注:new Date()里面设置的时间,如果你想设施3月份的,要写2,因为月份是从0开始的。

例子:实现团购、限时抢等效果

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>团购——限时抢</title>
<link rel="stylesheet" href="style.css" />
</head> <body>
<div class="content3">
<div class="time">还剩 <span id="LeftTime"></span></div>
</div>
<script>
function FreshTime()
{
var endtime=new Date("2015/5/15,12:20:12");//结束时间
var nowtime = new Date();//当前时间
var lefttime=nowtime.getTime()-endtime.getTime();
d=parseInt(lefttime/(24*60*60*1000));
h=parseInt(lefttime/(60*60*1000)%24);
m=parseInt(lefttime/(60*1000)%60);
s=parseInt(lefttime/1000%60); document.getElementById("LeftTime").innerHTML=d+"天"+h+"小时"+m+"分"+s+"秒";
if(lefttime<=0){
document.getElementById("LeftTime").innerHTML="团购已结束";
clearInterval(sh);
}
}
FreshTime()
var sh;
sh=setInterval(FreshTime,500);
</script>
</body>
</html>