This doesn't work in IE. Forever - 00:00:00 Works in Chrome, Firefox. Why? How can I fix it?
function timer()
{
var now = new Date();
var enddate = new Date("07,12,2012,23:00: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, 2009, 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>';}
}
<body onload="timer();">
Can you help me please?
The problem is in this line:
var enddate = new Date("07,12,2012,23:00:00");
This is not a date format. Firefox is heroically making sense out of it, don't expect Internet Explorer to help you out the same, IE is ruthless, he walks alone.
The Date
object constructor takes several parameters:
new Date()
new Date(milliseconds)
new Date(dateString)
new Date(year, month, day [, hour, minute, second, millisecond ])
When using the dateString
option, your date string must conform to the RFC 2822 specification ; it works if you use a supported format:
var enddate = new Date("July 12, 2012 23:00:00");
AND, never, never, never pass a string to setTimeout
, pass it a function reference instead:
setTimeout(timer,10);
Try it here: http://jsfiddle.net/bVCMe/
Documentation
window.setTimeout
on MDN - https://developer.mozilla.org/en/DOM/window.setTimeout Date
on MDN - https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date/
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.