函数无法识别初始化的变量
Function does not recognize initialized variable
抱歉,我没有接受过Javascript的正式培训。我正在尝试制作一个操作加载进度条的函数。我想在完成后将"donezo"类添加到 #ammount。但是,不会添加该类。我相信变量已正确初始化。做一个querySelector而不是"ammount"var似乎确实有效。希望有人能向我解释为什么会这样?非常感谢。
代码笔在这里
(function move() {
var ammount = document.getElementById("ammount");
var counter = document.getElementById("counter");
var wrapper = document.getElementById("wrapper");
var status = 1;
var loader = setInterval(fireZeLoader, 10);
function fireZeLoader() {
if (status >= 100) {
clearInterval(loader);
wrapper.innerHTML = wrapper.innerHTML + '<div class="finished">Complete</div>';
ammount.classList.add("donezo");
} else {
status++;
ammount.style.width = status + '%';
counter.innerHTML = status + '%';
}
}
}());
发生这种情况是因为当您修改wrapper.innerHTML
时,wrapper
内部的 DOM 会重新创建。也就是说,您事先获得的所有引用现在都指向不再出现在屏幕上的对象。您可以交换以下两行:
ammount.classList.add("donezo");
wrapper.innerHTML = wrapper.innerHTML + '<div class="finished">Complete</div>';
另一种选择是仔细修改 DOM,而不分配给innerHTML
,我建议做后者。
相关文章:
- 使用名称初始化 ng-app 会禁用变量初始化
- 使用变量初始化数组:意外的令牌 +
- 使用变量初始化javascript数组
- 使用jQuery.when时进行了奇怪的变量初始化
- 使用angularjs范围变量初始化javascript变量
- 异步角度承诺和变量初始化
- JavaScript 变量初始化显示 NaN
- 使用静态变量初始化同一类中的变量
- JavaScript 中正确的“私有”变量初始化
- 角度 - 全局变量初始化一次 - 页眉中的示例用户名
- 角度变量初始化
- 对象变量初始化
- Snap SVG - 我可以使用多个变量初始化 snap.svg 指向标记中的不同 svg ID 吗?
- 使用 PHP 变量初始化选择标签
- JavaScript 在没有全局变量初始化值的情况下得到错误
- Javascript变量初始化
- AngularJS-$rootScope变量初始化失败
- Javascript 变量初始化语法
- 在变量初始化时运行代码
- 为什么这个变量初始化不对数字生效?