Rumah  >  Artikel  >  hujung hadapan web  >  Kod yang dilaksanakan oleh jquery untuk menentukan sama ada undur adalah over_jquery

Kod yang dilaksanakan oleh jquery untuk menentukan sama ada undur adalah over_jquery

WBOY
WBOYasal
2016-05-16 15:16:051424semak imbas

Bab ini memperkenalkan contoh kod ini boleh menentukan sama ada kira detik tarikh semasa telah tamat. Ia hanya menentukan sama ada kiraan detik telah selesai , dan lain-lain. Walaupun dalam aplikasi sebenar, ini jarang berlaku, kod serupa muncul, tetapi saya harap ia dapat memberi sedikit pencerahan kepada penonton.

Kod adalah seperti berikut:

function done(){
var str=$('#end').text(); 
var out=str.match(/\d+/g);
console.log(out); 
var h=parseInt(out[0]),m=parseInt(out[1]),s=parseInt(out[2]); 
console.log(h+'#'+m+'#'+s);
var calc=h*3600+m*60+s;
console.log(calc); 
if(calc==0){
//code
} 
else{
console.log('等待..');
} 
var t=setTimeout('done()',1000);
} 
done(); 

Di atas hanyalah coretan kod dan tidak boleh ditunjukkan. Berikut ialah pengenalan kepada proses pelaksanaannya.

1. Kod ulasan:

1.function done(){}, fungsi ini menyedari kesan menilai penghujung kira detik.
2.var str=$('#end').text(), dapatkan kandungan teks dalam elemen yang ditentukan, kod ini harus mengira detik masa semasa.
3.var out=str.match(/d /g), dapatkan tatasusunan nombor dalam masa dan tarikh.
4.var h=parseInt(out[0]), m=parseInt(out[1]), s=parseInt(out[2]), dapatkan jam, minit dan saat masing-masing.
5.var calc=h*3600 m*60 s, ditukarkan kepada saat.
6.if(calc==0){//code}, tentukan sama ada kira detik telah tamat dan kemudian nyatakan operasi yang sepadan.
7.var t=setTimeout('done()',1000), laksanakan fungsi penghakiman setiap saat.
8.done(), jalankan fungsi ini.

Kod kira detik jquery adalah seperti berikut:

$(function(){ 
var tYear = ""; //输入的年份 
var tMonth = ""; //输入的月份 
var tDate = ""; //输入的日期 
var iRemain = ""; //开始和结束之间相差的毫秒数 
var sDate = ""; //倒计的天数 
var sHour = ""; //倒计时的小时 
var sMin = ""; //倒计时的分钟 
var sSec = ""; //倒计时的秒数 
var sMsec = ""; //毫秒数 
//通用工具函数,在个位数上加零,根据传的N的参数,来设前面加几个零 
function setDig(num,n){ 
var str = ""+num; 
while(str.length<n){ 
str="0"+str 
} 
return str; 
} 
//获得相差的天,小时,分钟,秒 
function getdate(){ 
//创建开始时间和结束时间的日期对象 
var oStartDate = new Date(); 
var oEndDate = new Date(); 
//获取文本框的值 
tYear = $("#tyear").val(); 
tMonth = $("#tmonth").val(); 
tDate = $("#tdate").val(); 
//设置结束时间 
oEndDate.setFullYear(parseInt(tYear)); 
oEndDate.setMonth(parseInt(tMonth)-1); 
oEndDate.setDate(parseInt(tDate)); 
oEndDate.setHours(0); 
oEndDate.setMinutes(0); 
oEndDate.setSeconds(0); 
//求出开始和结束时间的秒数(除以1000) 
iRemain = (oEndDate.getTime() - oStartDate.getTime())/1000; 
//总的秒数除以一天的秒数,再取出整数部分,就得出有多少天。 
sDate = setDig(parseInt(iRemain/(60*60*24)),3); 
//总的秒数除以一天的秒数,然后取其中的余数,就是把整数天扣除之后,剩下的总秒数。 
iRemain %= 60*60*24; 
//剩下的总秒数除以一个小时的秒数,再取整数部分,就是有多少小时。 
sHour = setDig(parseInt(iRemain/(60*60)),2) 
//剩下的总秒数除以一个小时的秒数,再取其余数,这个余数,就是扣除小时这后,剩下的总秒数。 
iRemain %= 60*60; 
//剩下的总秒数除以一分钟的秒数,再取其整数部分,就是有多少分钟。 
sMin = setDig(parseInt(iRemain/60),2) 
//剩下的总秒数除以一分钟的秒数,再取其余数,这个余数,就是扣除分钟之后,剩下的总秒数。 
iRemain%=60; 
//剩下的秒数 
sSec = setDig(iRemain,2); 
//毫秒数 
sMsec = sSec*100; 
} 
//更改显示的时间 
function updateShow(){ 
$(".showdate span").text(tYear+"-"+tMonth+"-"+tDate); 
$(".count span").each(function(index, element) { 
if(index==0){ 
$(this).text(sDate); 
}else if(index==1){ 
$(this).text(sHour); 
}else if(index == 2){ 
$(this).text(sMin); 
}else if(index == 3){ 
$(this).text(sSec); 
}else if(index == 4){ 
$(this).text(sMsec); 
} 
}); 
} 
//每一秒执行一次时间更新 
function autoTime(){ 
getdate(); 
//如果小于零,清除调用自己,并且返回 
if(iRemain<0){ 
clearTimeout(setT); 
return; 
} 
updateShow(); 
var setT = setTimeout(autoTime,1000); 
} 
//点击按钮开始计时 
$("button").click(function(){ 
autoTime(); 
}) 
})

Rekod kawasan yang memerlukan perhatian:

1. Operasi modul:

iKekal %= 60*60*24;

adalah untuk mengembalikan baki Dalam contoh ini, baki ialah bilangan saat yang tinggal selepas mengambil integer.

2. set fungsi alatDig(num,n) 

Anda boleh menambah sifar secara automatik di hadapan nombor yang dihantar mengikut parameter yang diluluskan

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn