【发布时间】:2013-05-24 08:23:57
【问题描述】:
var t = 0;
function addDiv()
{
var div = document.createElement("div");
t++;
div.setAttribute("id", "box" + t);
document.body.appendChild(div);
AddStyle();
}
var h = 0;
var p = 1;
function doMove()
{
var okj = document.getElementById("box" + p);
if (p <= t) {
p++;
}
var g = setInterval(function () {
var go = parseInt(okj.style.left, 0) + 1 + "px";
okj.style.left = go;
}, 1000 / 60);
}
我的问题是,在 p 增加 p++ 之后,我的 var p = 1 每次调用 doMove 时都会增加吗?请帮我解决这个问题。
【问题讨论】:
-
你不能做一个 alert(p) 看看它是否真的增加了吗? - 我想不会,因为 t 不是全局的,所以 p 永远不是
-
请看这个非常好的问题和答案:[JavaScript 变量范围][1] [1]:stackoverflow.com/questions/500431/javascript-variable-scope
-
我在下面的回答有帮助吗?
-
@Borgtex 对不起,我忘了提到有一个名为 t=0 的变量,我没有得到的是 javascript 是基于 p 如何向后退并每次递增
-
@MarkWalters 抱歉,我忘了提到顶部有一个名为 t=0 的变量
标签: javascript variables scope increment