0
我正在为网站设计仪表板,我添加的最后一个功能之一就是时钟。我有一个获取日期/时间,格式化并输出到时钟的基本功能,但是我的setInterval
函数在Webkit浏览器中不起作用。我试着用几种不同的方式重新安排它,但没有成功。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中表现奇怪,并且该修补程序是什么?
什么了//发条代码后? – 2012-08-14 19:46:58
对不起,我没有意识到时钟代码是相关的,因为它在Firefox中的全部功能,但无论如何它在这里。 – OneChillDude 2012-08-14 19:49:59
从它的声音来看,错误与Chrome没有重新绘制已更新的部分屏幕有关。您可以通过在函数内放置一个'console.log('tick')'来检查'setInterval'是否正在完成它的工作,然后观察您的控制台。 – meagar 2012-08-14 19:52:24