私はWebサイトのダッシュボードに取り組んでおり、追加する最後の機能の1つは時計です。日付/時刻を取得してフォーマットし、時計に出力する基本的な関数がありますが、setInterval
Webkitブラウザーで関数が機能していません。私はそれをいくつかの異なる方法で再配置しようとしましたが、成功しませんでした。
Webkitでは、時計のテキストを強調表示したり、スクロールしたりして、時計を強制的に再レンダリングすると、時計がリロードされます。
私のコードは次のようになります。
$(document).ready(function() {
setInterval(function() {
var time = new Date();
var hour = time.getHours();
var min = time.getMinutes();
var sec = time.getSeconds();
var amPm = (hour < 12 ? "AM" : "PM");
hour = (hour <= 12 ? hour : hour - 12);
min = (min < 10 ? "0" + min : min);
sec = (sec < 10 ? "0" + sec : sec);
var currentTime = (hour + " : " + min + " : " + sec + " " + amPm);
$('#time').html(currentTime);
var date = time.getDate();
var month = time.getMonth();
var year = time.getYear();
year = year - 100;
var todaysDate = (month + "/" + date + "/" + year);
$('#date').html(todaysDate);
var dayNum = time.getDay();
var day = new Array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday");
$('#day').html(day[dayNum]);
}, 1000);
});
Firefoxでは動作しますが、ChromeやSafariでは動作しません。setInterval
Webkitで奇妙な動作をする理由と、修正方法を知っている人はいますか?