純粋なJSを使用してカウントダウンタイマーを構築しました。IE8に達するまではすべて正常に動作しているようです。 IE8を使用すると、タイマフィールドにNaNが返されます。JSタイマはIE8でNaNを表示します
私はその瞬間が日付/時刻フィールドを扱うための良いライブラリだが、それは良い古いJS(ライブラリなし)で作業しようとしたいと思った。これが、単純な数学を行うために、日付をUNIXに変換する理由です。ここで
は、私が使用したJSです:
(function(){
// Setup all the variables needed
var week = document.getElementById('timer-weeks');
var day = document.getElementById('timer-days');
var hour = document.getElementById('timer-hours');
var min = document.getElementById('timer-minutes');
var sec = document.getElementById('timer-seconds');
var target = new Date('2017-01-17T08:00:00Z').getTime();
setInterval(function(){
var now = new Date().getTime();
var d = target - now;
// Get number of weeks until event
var weeks = Math.floor(d/604800000);
week.innerHTML = weeks;
// Remove weeks from d variable and work out days
d = d - (weeks * 604800000);
var days = Math.floor(d/86400000);
day.innerHTML = days;
// Remove days from d variable and work out hours
d = d - (days * 86400000);
var hours = Math.floor(d/3600000);
hour.innerHTML = hours;
// Remove hours from d variable and work out minutes
d = d - (hours * 3600000);
var minutes = Math.floor(d/60000);
min.innerHTML = minutes;
// Remove minutes from d variable and work out seconds
d = d - (minutes * 60000);
var seconds = Math.floor(d/1000);
sec.innerHTML = seconds;
}, 1000);
}());
はここCodepenへのリンクです:http://codepen.io/MattJLeach/pen/JEdXoZ
は、私はIE 8を持っていないあなたは
さて、あなたはデバッグする必要があります(または、さまざまな時点でIE8挿入アラート()を使用して、数字ではないことを確認してください...)Date()ctorに渡される文字列形式が確実にサポートされていることから始めます。 –