JavaScript函数参数错误
我有这个简单的幻灯片设置,如果我删除参数并手动添加类和速度,一切都很好 如果我使用参数来设置类和速度,它将失败。第一个图像应用了当前类,然后dom似乎变得疯狂 “undefined”弹出很多,尽管控制台中没有错误 任何帮助都将不胜感激。谢谢JavaScript函数参数错误,javascript,function,parameters,slideshow,Javascript,Function,Parameters,Slideshow,我有这个简单的幻灯片设置,如果我删除参数并手动添加类和速度,一切都很好 如果我使用参数来设置类和速度,它将失败。第一个图像应用了当前类,然后dom似乎变得疯狂 “undefined”弹出很多,尽管控制台中没有错误 任何帮助都将不胜感激。谢谢 let pos = 0; window.addEventListener("load", function(event) { testIt('current', 5000); }); function testIt(_class, _speed)
let pos = 0;
window.addEventListener("load", function(event) {
testIt('current', 5000);
});
function testIt(_class, _speed) {
const testPara = document.querySelectorAll('.bg_imgs');
let i;
for(i = 0; i < testPara.length; i++) {
testPara[i].classList.remove(_class);
}
pos++;
if(pos > testPara.length) {pos = 1;}
testPara[pos-1].classList.add(_class);
setTimeout(_class, _speed); }
SetTimeout将函数作为其第一个参数。如果您试图延迟递归,请尝试: setTimeout=>测试类、速度、速度
我认为window.requestAnimationFrame是一个更好的解决方案 看起来您向setTimeout发送了错误的参数。它的形式应该是setTimeoutfunction,time,但实际上,您正在传递它,我假定它是一个字符串
setTimeout(function() { testIt(_class, _speed); }, _speed);
应该管用这也很管用。更喜欢使用箭头功能,谢谢。