可以直接判斷毫秒數(shù)是否大于一天的 不大于的話 直接改成
成都創(chuàng)新互聯(lián)公司致力于互聯(lián)網(wǎng)網(wǎng)站建設(shè)與網(wǎng)站營(yíng)銷,提供成都做網(wǎng)站、網(wǎng)站建設(shè)、網(wǎng)站開發(fā)、seo優(yōu)化、網(wǎng)站排名、互聯(lián)網(wǎng)營(yíng)銷、微信小程序、公眾號(hào)商城、等建站開發(fā),成都創(chuàng)新互聯(lián)公司網(wǎng)站建設(shè)策劃專家,為不同類型的客戶提供良好的互聯(lián)網(wǎng)應(yīng)用定制解決方案,幫助客戶在新的全球化互聯(lián)網(wǎng)環(huán)境中保持優(yōu)勢(shì)。
$(this).text(event.strftime('剩余時(shí)間:%H小時(shí)%M分鐘%S秒'));
設(shè)計(jì)一個(gè)答題的小游戲,每道題可以有20秒時(shí)間作答,超過時(shí)間就要給出相應(yīng)的提醒,由于20秒時(shí)間太長(zhǎng),不適合做GIF動(dòng)態(tài)圖,下面來(lá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程序
先來(lái)說一下倒計(jì)時(shí)的原理:
1、將時(shí)間轉(zhuǎn)為0:0格式
2、需要開啟一個(gè)定時(shí)器,每隔1000ms就讓時(shí)間自動(dòng)減1
3、判斷時(shí)間是否為0,如果為0則代表計(jì)時(shí)結(jié)束,此時(shí)需要給出提示或者做其他事情
下面來(lái)看具體實(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ì)小伙伴有幫助。
復(fù)制代碼
代碼如下:
var
wait=60;//時(shí)間
function
time(o,p)
{//o為按鈕的對(duì)象,p為可選,這里是60秒過后,提示文字的改變
if
(wait
==
0)
{
o.removeAttr("disabled");
o.val("點(diǎn)擊發(fā)送驗(yàn)證碼");//改變按鈕中value的值
p.html("如果您在1分鐘內(nèi)沒有收到驗(yàn)證碼,請(qǐng)檢查您填寫的手機(jī)號(hào)碼是否正確或重新發(fā)送");
wait
=
60;
}
else
{
o.attr("disabled",
true);//倒計(jì)時(shí)過程中禁止點(diǎn)擊按鈕
o.val(wait
+
"秒后重新獲取驗(yàn)證碼");//改變按鈕中value的值
wait--;
setTimeout(function()
{
time(o,p);//循環(huán)調(diào)用
},
1000)
}
}
視圖:
復(fù)制代碼
代碼如下:
input
class="mem_btn
mem_btn26"
type="submit"
name="yt0"
value="點(diǎn)擊發(fā)送驗(yàn)證碼"
id="btn"
調(diào)用:
復(fù)制代碼
代碼如下:
echo
CHtml::ajaxSubmitButton('點(diǎn)擊發(fā)送驗(yàn)證碼',
CHtml::normalizeUrl(
array('/ajax/sendGetPassMobilCaptcha','zm_id'=$model-zm_id)
),
array('success'='function(result){
if(result==1){
$(".ys_98").html("驗(yàn)證碼發(fā)送成功,請(qǐng)及時(shí)檢查您的手機(jī)。");
time($("#yt0"),$(".ys_98"))
}else{
$(".ys_98").html("驗(yàn)證碼發(fā)送失敗,請(qǐng)重試,或聯(lián)系管理員。");
}
}','data'="zm_id=".$model-zm_id."zm_mob=".$model-zm_mob."zm_name=".$model-zm_name
),
array('class'='mem_btn
mem_btn26'));
首先獲取當(dāng)前時(shí)間與目標(biāo)時(shí)間的時(shí)間差,然后通過定時(shí)器更新這個(gè)時(shí)間差,就實(shí)現(xiàn)了倒計(jì)時(shí)效果。實(shí)現(xiàn)上述過程需要以下兩個(gè)函數(shù):
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);
}
本文實(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ì)有所幫助。