我制作了一个自定义循环,每次迭代都会延迟 300 毫秒。但在这个循环中,行 ul.syle.height = i + 'px';
抛出一个错误 TypeError: Cannot set property 'height' of undefined at main.js
但是变量 ul
在 var ul_scrollHeight = ul.scrollHeight;
行上方工作正常。
那么为什么它在“setTimeout”内不起作用? 这里 getNextSibling
是我代码中的另一个函数。
function fun1() {
var ul = getNextSibling(this);
var ul_scrollHeight = ul.scrollHeight;
var i = 1;
function customLoop() {
setTimeout(function () {
ul.syle.height = i + 'px'; // Not Working
if (i <= ul_scrollHeight) {
customLoop();
}
}, 300)
}
customLoop();
}
最佳答案
我认为您在该行上有一个拼写错误:
ul.syle.height = i + 'px';
因为ul.syle
缺少t
,所以返回undefined
,它没有属性height
. 🙂
关于javascript - 如何创建自定义循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65679014/