我有一個計數器,它每秒鐘爲我們的總數增加6美元,它從一個特定的日期和時間開始計數,以便儘管重新加載頁面,它仍會繼續添加到總量中。在Chrome,Safari(Windows),Opera和IE中使用貨幣計數器,但不支持Firefox。爲什麼?
<span id="counter-value"></span>
var amount = document.getElementById('counter-value');
var start = new Date("November 24, 2012 00:00:00").getTime();
var current;
update();
function update() {
var current = (new Date().getTime() - start)/1000*6+138276343;//Starting total and number to increment total
amount.innerText = formatMoney(current);
}
setInterval(update,1000);
function formatMoney(amount) {
var dollars = Math.floor(amount).toString().split('');
var cents = (Math.round((amount%1)*100)/100).toString().split('.')[1];
if(typeof cents == 'undefined'){
cents = '00';
}else if(cents.length == 1){
cents = cents + '0';
}
var str = '';
for(i=dollars.length-1; i>=0; i--){
str += dollars.splice(0,1);
if(i%3 == 0 && i != 0) str += ',';
}
return '$' + str + '.' + cents;
}
</script>
如問題所說,這部作品在所有其他主流瀏覽器(我想測試至少),除了火狐31.1.1。在我的代碼中有什麼東西正在使這個突破?
這裏是一個JSfiddle讓你觀察行爲。請記住在Firefox中查看小提琴。這個小提琴不是我的,但與我的相同,保存硬編碼的值。
我的猜測是http://stackoverflow.com/questions/1359469/innertext-works-in-ie-but-not-in更換的innerText -firefox – Huangism 2014-11-24 20:42:08