首先獲取當(dāng)前時(shí)間與目標(biāo)時(shí)間的時(shí)間差,然后通過定時(shí)器更新這個(gè)時(shí)間差,就實(shí)現(xiàn)了倒計(jì)時(shí)效果。實(shí)現(xiàn)上述過程需要以下兩個(gè)函數(shù):
在網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)中從網(wǎng)站色彩、結(jié)構(gòu)布局、欄目設(shè)置、關(guān)鍵詞群組等細(xì)微處著手,突出企業(yè)的產(chǎn)品/服務(wù)/品牌,幫助企業(yè)鎖定精準(zhǔn)用戶,提高在線咨詢和轉(zhuǎn)化,使成都網(wǎng)站營(yíng)銷成為有效果、有回報(bào)的無錫營(yíng)銷推廣。創(chuàng)新互聯(lián)公司專業(yè)成都網(wǎng)站建設(shè)十多年了,客戶滿意度97.8%,歡迎成都創(chuàng)新互聯(lián)客戶聯(lián)系。
getTime()???????//?返回距1970年1月1日之間的毫秒數(shù),這樣將時(shí)間差(毫秒數(shù))÷3600÷24即為天數(shù),時(shí)分秒類似
setTimeout(code,millisec);????//?在指定的毫秒數(shù)后調(diào)用函數(shù)
實(shí)例演示如下
創(chuàng)建Html元素
div?class="box"
span距離2015年國(guó)慶節(jié)還剩:/spanbr
div?class="content"
input?type="text"?id="time_d"天input?type="text"?id="time_h"時(shí)input?type="text"?id="time_m"分input?type="text"?id="time_s"秒
/div
/div
設(shè)置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();?//設(shè)定當(dāng)前時(shí)間
var?time_end?=??new?Date("2015/10/01?00:00:00").getTime();?//設(shè)定目標(biāo)時(shí)間
//?計(jì)算時(shí)間差?
var?time_distance?=?time_end?-?time_start;?
//?天
var?int_day?=?Math.floor(time_distance/86400000)?
time_distance?-=?int_day?*?86400000;?
//?時(shí)
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)?
//?時(shí)分秒為單數(shù)時(shí)、前面加零?
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;?
}?
//?顯示時(shí)間?
$("#time_d").val(int_day);?
$("#time_h").val(int_hour);?
$("#time_m").val(int_minute);?
$("#time_s").val(int_second);?
//?設(shè)置定時(shí)器
setTimeout("show_time()",1000);?
}
觀察效果
某個(gè)時(shí)刻的截圖
幾秒后的截圖
設(shè)計(jì)一個(gè)答題的小游戲,每道題可以有20秒時(shí)間作答,超過時(shí)間就要給出相應(yīng)的提醒,由于20秒時(shí)間太長(zhǎng),不適合做GIF動(dòng)態(tài)圖,下面來看一下我寫的5秒倒計(jì)時(shí)的測(cè)試程序結(jié)果:
一、主體程序
!DOCTYPE
html
html
head
meta
charset="utf-8"
/
title手寫倒計(jì)時(shí)程序/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程序
先來說一下倒計(jì)時(shí)的原理:
1、將時(shí)間轉(zhuǎn)為0:0格式
2、需要開啟一個(gè)定時(shí)器,每隔1000ms就讓時(shí)間自動(dòng)減1
3、判斷時(shí)間是否為0,如果為0則代表計(jì)時(shí)結(jié)束,此時(shí)需要給出提示或者做其他事情
下面來看具體實(shí)現(xiàn)的倒計(jì)時(shí)程序:
$(function(){
var
countDownTime=parseInt(5);
//在這里設(shè)置每道題的答題時(shí)長(zhǎng)
function
countDown(countDownTime){
var
timer=setInterval(function(){
if(countDownTime=0){
showTime(countDownTime);
countDownTime--;
}else{
clearInterval(timer);
alert("計(jì)時(shí)結(jié)束,給出提示");
}
},1000);
}
countDown(countDownTime);
function
showTime(countDownTime){
//這段是計(jì)算分和秒的具體數(shù)
var
minute=Math.floor(countDownTime/60);
var
second=countDownTime-minute*60;
$("#countDownTime").text(minute+":"+second);
}
})
帶著我寫的原理再去看這段JS程序估計(jì)比較容易吧,希望對(duì)小伙伴有幫助。
本文實(shí)例講述了JQuery實(shí)現(xiàn)的按鈕倒計(jì)時(shí)效果。分享給大家供大家參考,具體如下:
一個(gè)實(shí)現(xiàn)了在按鈕上顯示倒計(jì)時(shí),倒計(jì)時(shí)完畢自動(dòng)將按鈕設(shè)置為不可用的效果,具體代碼如下:
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
運(yùn)行效果截圖如下:
希望本文所述對(duì)大家jQuery程序設(shè)計(jì)有所幫助。