javascript如何使里程表在装载时开始计数?
如何使里程表在装载时开始计数?(我已经试过了,但是没有用,应该启动它的snipet位于javascript的底部)。我是javascript初学者,请帮助:) 这是加文·布洛克的里程表javascript如何使里程表在装载时开始计数?,javascript,Javascript,如何使里程表在装载时开始计数?(我已经试过了,但是没有用,应该启动它的snipet位于javascript的底部)。我是javascript初学者,请帮助:) 这是加文·布洛克的里程表 // 开始计算(); 它不起作用,因为setTimeout希望您传递函数句柄(传递字符串) 尝试设置超时(更新,0)来自: 传递给setTimeout的字符串在全局上下文中求值,因此当字符串作为代码求值时,调用setTimeout()的上下文中的本地符号将不可用 另外, 不建议使用此语法,原因与使用eval()存
//
开始计算();
它不起作用,因为setTimeout希望您传递函数句柄(传递字符串)
尝试设置超时(更新,0)代码>来自:
传递给setTimeout的字符串在全局上下文中求值,因此当字符串作为代码求值时,调用setTimeout()的上下文中的本地符号将不可用
另外,
不建议使用此语法,原因与使用eval()存在安全风险相同
您的代码不工作,因为当以字符串形式传递代码时,setTimeout
无法看到您的update
方法。正如@dolek建议的那样,您可以通过直接传递update
来解决这个问题并提高代码的质量
//<![CDATA[
var n = 0;
var myOdometer;
function startcounting () {
var div = document.getElementById("odometerDiv");
myOdometer = new Odometer(div, {value: n, digits: 6, tenths: true});
update();
}
function update () {
n=n+0.0025
myOdometer.set(n);
setTimeout("update()", 0);
}
//]]>
startcounting();