首先获取当前时间与目标时间的时间差,然后通过定时器更新这个时间差,就实现了倒计时效果。实现上述过程需要以下两个函数:
在网站设计、成都网站建设中从网站色彩、结构布局、栏目设置、关键词群组等细微处着手,突出企业的产品/服务/品牌,帮助企业锁定精准用户,提高在线咨询和转化,使成都网站营销成为有效果、有回报的无锡营销推广。创新互联公司专业成都网站建设十多年了,客户满意度97.8%,欢迎成都创新互联客户联系。
getTime() // 返回距1970年1月1日之间的毫秒数,这样将时间差(毫秒数)÷3600÷24即为天数,时分秒类似
setTimeout(code,millisec); // 在指定的毫秒数后调用函数
实例演示如下
创建Html元素
div class="box"
span距离2015年国庆节还剩:/spanbr
div class="content"
input type="text" id="time_d"天input type="text" id="time_h"时input type="text" id="time_m"分input type="text" id="time_s"秒
/div
/div
设置css样式
div.box{width:300px;padding:20px;margin:20px;border:4px dashed #ccc;}
div.boxspan{color:#999;font-style:italic;}
div.content{width:250px;margin:10px 0;padding:20px;border:2px solid #ff6666;}
input[type='text']{width:45px;height:35px;padding:5px 10px;margin:5px 0;border:1px solid #ff9966;}
编写jquery代码
$(function(){
show_time();
});
function show_time(){
var time_start = new Date().getTime(); //设定当前时间
var time_end = new Date("2015/10/01 00:00:00").getTime(); //设定目标时间
// 计算时间差
var time_distance = time_end - time_start;
// 天
var int_day = Math.floor(time_distance/86400000)
time_distance -= int_day * 86400000;
// 时
var int_hour = Math.floor(time_distance/3600000)
time_distance -= int_hour * 3600000;
// 分
var int_minute = Math.floor(time_distance/60000)
time_distance -= int_minute * 60000;
// 秒
var int_second = Math.floor(time_distance/1000)
// 时分秒为单数时、前面加零
if(int_day 10){
int_day = "0" + int_day;
}
if(int_hour 10){
int_hour = "0" + int_hour;
}
if(int_minute 10){
int_minute = "0" + int_minute;
}
if(int_second 10){
int_second = "0" + int_second;
}
// 显示时间
$("#time_d").val(int_day);
$("#time_h").val(int_hour);
$("#time_m").val(int_minute);
$("#time_s").val(int_second);
// 设置定时器
setTimeout("show_time()",1000);
}
观察效果
某个时刻的截图
几秒后的截图
设计一个答题的小游戏,每道题可以有20秒时间作答,超过时间就要给出相应的提醒,由于20秒时间太长,不适合做GIF动态图,下面来看一下我写的5秒倒计时的测试程序结果:
一、主体程序
!DOCTYPE
html
html
head
meta
charset="utf-8"
/
title手写倒计时程序/title
link
rel="stylesheet"
type="text/css"
href="css/layout.css"/
/head
body
section
class="countDown"
span
id="countDownTime"/span
section
class="clear"/section
/section
script
src="js/jquery-1.11.0.js"
type="text/javascript"
charset="utf-8"/script
script
src="js/layout.js"
type="text/javascript"
charset="utf-8"/script
/body
/html
二、CSS样式
*{
margin:
0;
padding:0;
}
html{
font-size:
12px;
}
.countDown{
width:
3.8rem;
text-align:
center;
margin:
2rem
auto
auto;
}
.countDown
#countDownTime{
font-size:
2rem;
}
三、Jquery程序
先来说一下倒计时的原理:
1、将时间转为0:0格式
2、需要开启一个定时器,每隔1000ms就让时间自动减1
3、判断时间是否为0,如果为0则代表计时结束,此时需要给出提示或者做其他事情
下面来看具体实现的倒计时程序:
$(function(){
var
countDownTime=parseInt(5);
//在这里设置每道题的答题时长
function
countDown(countDownTime){
var
timer=setInterval(function(){
if(countDownTime=0){
showTime(countDownTime);
countDownTime--;
}else{
clearInterval(timer);
alert("计时结束,给出提示");
}
},1000);
}
countDown(countDownTime);
function
showTime(countDownTime){
//这段是计算分和秒的具体数
var
minute=Math.floor(countDownTime/60);
var
second=countDownTime-minute*60;
$("#countDownTime").text(minute+":"+second);
}
})
带着我写的原理再去看这段JS程序估计比较容易吧,希望对小伙伴有帮助。
本文实例讲述了JQuery实现的按钮倒计时效果。分享给大家供大家参考,具体如下:
一个实现了在按钮上显示倒计时,倒计时完毕自动将按钮设置为不可用的效果,具体代码如下:
html
head
titletest
count
down
button/title
script
src="jquery1.8.3.min.js"
type="text/javascript"/script
script
type="text/javascript"
$(function
()
{
$('#btn').click(function
()
{
var
count
=
10;
var
countdown
=
setInterval(CountDown,
1000);
function
CountDown()
{
$("#btn").attr("disabled",
true);
$("#btn").val("Please
wait
"
+
count
+
"
seconds!");
if
(count
==
0)
{
$("#btn").val("Submit").removeAttr("disabled");
clearInterval(countdown);
}
count--;
}
})
});
/script
/head
body
input
type="button"
id="btn"
value="Submit"
/
/body
/html
运行效果截图如下:
希望本文所述对大家jQuery程序设计有所帮助。
售后响应及时
7×24小时客服热线数据备份
更安全、更高效、更稳定价格公道精准
项目经理精准报价不弄虚作假合作无风险
重合同讲信誉,无效全额退款