我正在尝试建立一个倒数计时器,它在两个给定时间之间倒计时。
我希望我的计时器倒计时2014年6月19日12:20:00之间的时间& 2014年6月16日12:00:00
但它不倒计时。它本身仍然是静态的。
function timer()
{
var now = new Date("June 16, 2014 12:00:00");
var enddate = new Date("June 19, 2014 12:20:00");
var totalRemains = (enddate.getTime()-now.getTime());
if (totalRemains>1)
{
var RemainsSec=(parseInt(totalRemains/1000));
var RemainsFullDays=(parseInt(RemainsSec/(24*60*60)));
var secInLastDay=RemainsSec-RemainsFullDays*24*3600;
var RemainsFullHours=(parseInt(secInLastDay/3600));
if (RemainsFullHours<10){RemainsFullHours="0"+RemainsFullHours};
var secInLastHour=secInLastDay-RemainsFullHours*3600;
var RemainsMinutes=(parseInt(secInLastHour/60));
if (RemainsMinutes<10){RemainsMinutes="0"+RemainsMinutes};
var lastSec=secInLastHour-RemainsMinutes*60;
if (lastSec<10){lastSec="0"+lastSec};
var mcend = Date.parse("Jan 1, 2012, 00:00:00");
var mcnow = now.getTime();
var mc = ((mcend-mcnow)/10).toFixed(0).substr(8);
document.getElementById('timer').innerHTML = '<p class="timeline">TIME LEFT: '+ RemainsFullHours+":"+RemainsMinutes+":"+lastSec+'</p>';
setTimeout(timer,10);
}
else {document.getElementById("timer").innerHTML = '<p class="timeline">TIME LEFT: 00:00:00</p>';}
}
timer();
这是我的小提琴http://jsfiddle.net/bVCMe/
答案 0 :(得分:1)
var t1 = new Date("June 14, 2014, 12:40:00") //end date
var t2 = new Date("June 14, 2014, 00:00:01") //initial date
var Seconds_Between_Dates = Math.abs((t1.getTime() - t2.getTime()) / 1000);
timer(Seconds_Between_Dates);
function timer(Seconds_Between_Dates) {
if (Seconds_Between_Dates > 1) {
var RemainDays = (parseInt(Seconds_Between_Dates / (24 * 60 * 60)));
var lastDaySecs = Seconds_Between_Dates - RemainDays * 24 * 3600;
var RemainsFullHours = (parseInt(lastDaySecs / 3600));
if (RemainsFullHours < 10) {
RemainsFullHours = "0" + RemainsFullHours
};
var secInLastHour = lastDaySecs - RemainsFullHours * 3600;
var RemainsMinutes = (parseInt(secInLastHour / 60));
if (RemainsMinutes < 10) {
RemainsMinutes = "0" + RemainsMinutes
};
var lastSec = secInLastHour - RemainsMinutes * 60;
if (lastSec < 10) {
lastSec = "0" + lastSec
};
document.getElementById('effect').innerHTML = '<p class="timeline">TIME LEFT: ' + RemainDays + ":::::" + RemainsFullHours + ":" + RemainsMinutes + ":" + lastSec + '</p>';
Seconds_Between_Dates = Seconds_Between_Dates - 1;
setTimeout(function () {
timer(Seconds_Between_Dates)
}, 1000);
}
}
答案 1 :(得分:0)
var enddate = new Date("June 19, 2014 12:20:00");
timer();
function timer() {
var now = new Date();
var totalRemains = (enddate.getTime() - now.getTime());
if (totalRemains > 1) {
var RemainsSec = (parseInt(totalRemains / 1000));
var RemainsFullDays = (parseInt(RemainsSec / (24 * 60 * 60)));
var secInLastDay = RemainsSec - RemainsFullDays * 24 * 3600;
var RemainsFullHours = (parseInt(secInLastDay / 3600));
if (RemainsFullHours < 10) {
RemainsFullHours = "0" + RemainsFullHours
};
var secInLastHour = secInLastDay - RemainsFullHours * 3600;
var RemainsMinutes = (parseInt(secInLastHour / 60));
if (RemainsMinutes < 10) {
RemainsMinutes = "0" + RemainsMinutes
};
var lastSec = secInLastHour - RemainsMinutes * 60;
if (lastSec < 10) {
lastSec = "0" + lastSec
};
var mcend = Date.parse("Jan 1, 2012, 00:00:00");
var mcnow = now.getTime();
var mc = ((mcend - mcnow) / 10).toFixed(0).substr(8);
document.getElementById('timer').innerHTML = '<p class="timeline">TIME LEFT: ' + RemainsFullHours + ":" + RemainsMinutes + ":" + lastSec + '</p>';
setTimeout(timer, 10);
} else {
document.getElementById("timer").innerHTML = '<p class="timeline">TIME LEFT: 00:00:00</p>';
}
}
答案 2 :(得分:-1)
var enddate = new Date("June 19, 2014 12:20:00");
timer();
function timer() {
var now = new Date();
var totalRemains = (enddate.getTime() - now.getTime());
if (totalRemains > 1) {
var RemainsSec = (parseInt(totalRemains / 1000));
var RemainsFullDays = (parseInt(RemainsSec / (24 * 60 * 60)));
var secInLastDay = RemainsSec - RemainsFullDays * 24 * 3600;
var RemainsFullHours = (parseInt(secInLastDay / 3600));
if (RemainsFullHours < 10) {
RemainsFullHours = "0" + RemainsFullHours
};
var secInLastHour = secInLastDay - RemainsFullHours * 3600;
var RemainsMinutes = (parseInt(secInLastHour / 60));
if (RemainsMinutes < 10) {
RemainsMinutes = "0" + RemainsMinutes
};
var lastSec = secInLastHour - RemainsMinutes * 60;
if (lastSec < 10) {
lastSec = "0" + lastSec
};
var mcend = Date.parse("Jan 1, 2012, 00:00:00");
var mcnow = now.getTime();
var mc = ((mcend - mcnow) / 10).toFixed(0).substr(8);
document.getElementById('effect').innerHTML = '<p class="timeline">TIME LEFT: ' + RemainsFullHours + ":" + RemainsMinutes + ":" + lastSec + '</p>';
setTimeout(timer, 10);
} else {
document.getElementById("effect").innerHTML = '<p class="timeline">TIME LEFT: 00:00:00</p>';
}
}