Javascript 在Chrome、Safari(Windows)、Opera和IE中使用货币计数器,但在Firefox中不使用。为什么?

Javascript 在Chrome、Safari(Windows)、Opera和IE中使用货币计数器,但在Firefox中不使用。为什么?,javascript,firefox,Javascript,Firefox,我有一个计数器,每秒增加6美元到我们的总数,它从一个特定的日期和时间开始计数,这样即使页面重新加载,它也会继续增加到总数 <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(); f

我有一个计数器,每秒增加6美元到我们的总数,它从一个特定的日期和时间开始计数,这样即使页面重新加载,它也会继续增加到总数

<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>

var amount=document.getElementById('counter-value');
var start=新日期(“2012年11月24日00:00:00”).getTime();
无功电流;
更新();
函数更新(){
var current=(new Date().getTime()-start)/1000*6+138276343;//开始总计和递增总计的数字
amount.innerText=格式货币(当前);
}
设置间隔(更新,1000);
功能货币(金额){
var美元=数学下限(金额).toString().split(“”);
变量分=(数学四舍五入((金额%1)*100)/100.toString().split('.')[1];
如果(分的类型==“未定义”){
美分='00';
}else if(分长度==1){
美分=美分+0分;
}
var-str='';
对于(i=dollars.length-1;i>=0;i--){
str+=美元拼接(0,1);
如果(i%3==0&&i!=0)str+=',';
}
返回“$”+str+”.+cents;
}
如问题中所述,除了Firefox31.1.1之外,这在所有其他主要浏览器(我想至少测试一下)中都有效。我的代码中有没有什么东西使这个突破


这里有一个供您观察该行为。记住在Firefox中查看小提琴。此小提琴不是我的,但与我的相同,请保存硬编码值。

您需要将innerText替换为innerHTML


我猜这是一个很有魅力的作品!非常感谢。
function update() {
    var current = (new Date().getTime() - start)/1000*0.158+138276343;
    amount.innerHTML = formatMoney(current);
}