我正在尝试创建一个每5秒生成一个数字的函数,但是当我使用这些函数时会出现一个问题,因为我希望在这个数字上有SELECT p.name
FROM `geotree` AS node, `geotree` AS p
WHERE node.lft BETWEEN p.lft AND p.rgt AND node.rgt='$value'
ORDER BY p.lft
函数。我收到此错误消息:
未捕获的ReferenceError:x未定义
循环工作只是不知道如何修复此错误。谢谢你的帮助
animateNumber()
答案 0 :(得分:1)
x
变量在myInterval
函数中定义,因此在ref()
内无法访问 - 因此出错。你需要提高它的范围:
var x = 0;
function myInterval() {
x = Math.round(Math.random() * 5000) + 1;
}
var timeoutId = setTimeout(ref, 100);
var intervalId = setInterval(ref, 5000);
var intervalId = setInterval(myInterval, 5000);
// ANIMATED NUMBER
function ref() {
$("#budget-left").animateNumbers(x);
}
另请注意,如果您有一个计时器,调用单个函数同时生成数字然后显示它,逻辑会更有意义。试试这个:
var intervalId = setInterval(function() {
var randomNumber = Math.round(Math.random() * 5000) + 1;
$("#budget-left").animateNumbers(randomNumber);
}, 5000);
答案 1 :(得分:0)
范围界定就是问题。
var x =0;
function myInterval() {
x = Math.round(Math.random() * 5000) + 1;
}
var timeoutId = setTimeout(ref, 100);
var intervalId = setInterval(ref, 5000);
var intervalId = setInterval(myInterval, 5000);
// ANIMATED NUMBER
function ref() {
$("#budget-left").animateNumbers(x);
}