一个 JavaScript 函数禁用其他函数
One javascript function disables other functions
我有 3 个函数:
window.onload = function() {
canvas();
changeColor();
blockSize();
}
问题出在第三个"blockSize()"上。当我把它放在 window.onlod 函数的底部时,它没有运行;+ 当我将其放在顶部时,它会禁用其下方的所有功能。这是代码(以类名"size"的所有块的百分比计算宽度和高度):
function blockSize() {
var block = document.getElementsByClassName("size");
for (var i in block) {
var width = Math.round(block[i].clientWidth/document.documentElement.clientWidth*100);
var height = Math.round(block[i].clientHeight/document.documentElement.clientHeight*100);
var span = document.createElement("span");
span.innerHTML = width+"x"+height+"%";
block[i].appendChild(span);
}
}
请注意,当我附加Child(最后一行)时,该问题就适用了。当我删除它时,其他功能可以正常工作。还尝试将手动放入div中,并改用此javascript行(相同的结果):
block[i].firstChild.innerHTML = width+"x"+height+"%";
!!当我只使用innerHTML时,一切正常。我明白,我可以使用这样的东西,它会起作用:
block[i].innerHTML = "<span>"+width+"x"+height+"</span>";
问题很可能来自在 HTML 上不正确地使用for-in
。这将包括 DOM 元素以外的其他项目。
当它遇到block[i].appendChild(span)
时,如果block[i]
不是元素,因此没有.appendChild()
方法,它将抛出错误。
请改用for
循环。
function blockSize() {
var block = document.getElementsByClassName("size");
for (var i = 0; i < block.length; i++) {
var width = Math.round(block[i].clientWidth/document.documentElement.clientWidth*100);
var height = Math.round(block[i].clientHeight/document.documentElement.clientHeight*100);
var span = document.createElement("span");
span.innerHTML = width+"x"+height+"%";
block[i].appendChild(span);
}
}
相关文章:
- Jquery未定义函数正在停止其他操作
- 执行php函数的onclick事件的其他替代方案
- 如何在.js函数中检索来自其他模板的表单的目标值
- 对其他函数使用匿名函数's参数
- 创建要在其他函数中使用的全局变量
- 调试一个简单的jQuery函数;想知道是否与其他代码冲突
- 在Meteor中如何将数据从函数内部复制到其他模板
- 在Jquery调用之间添加其他函数
- 使用一个Javascript函数提交多个表单可以在FF中工作,而不需要其他浏览器
- Mocking console.log()/MOCHA测试框架中的任何其他函数
- 如何从ipify函数返回ip地址,以便在其他函数中使用
- 如果没有其他函数链接到promise,则默认行为
- Javascript创建函数,以便在其他函数之间共享变量
- AngularJS:如何与其他控制器共享作用域函数和变量
- Firefox扩展开发:如何在内容脚本中创建一个全局函数,以便其他加载的脚本文件可以访问它
- 使通过函数加载的JSON可用于其他函数
- 如何使用 javascript 函数取决于是否其他
- 如何在 JavaScript 中访问函数中的其他属性值作为对象属性值
- 有没有办法将其他参数传递给 scrollTarget 回调函数
- 如何在创建的字段上应用 .change 函数 b 其他字段的 .change 函数