为什么window.setTimeout返回错误



我正在为我在学校的同学编写一个笔记页面,并试图为每个主题做一个小弹出框。由于css转换不适用于position属性,我尝试使用javascript和setTimeout。由于某种原因,代码window.setTimeout(box.style.position = 'absolute', 1000);不起作用并返回错误";未捕获引用错误:未定义绝对值;。有人能告诉我是什么导致了这个错误吗?

谢谢!

setTimeout采用函数引用,而不是纯JavaScript代码。此外,由于setTimeout()是全局window对象的方法,因此可以省略window.,直接调用setTimeout()

让你的代码这样:

setTimeout(function(){box.style.position = 'absolute'}, 1000);

或者这个:

function foo(){
box.style.position = 'absolute'
}
setTimeout(foo, 1000);

window.setTimeout接受函数或字符串作为第一个参数进行求值。由于box.style.position = 'absolute'的计算结果为'absolute',因此它尝试将其作为代码执行,从而抛出Uncaught ReferenceError: absolute is not defined。解决方案是传递一个要执行的函数。

window.setTimeout(()=>{box.style.position = 'absolute'}, 1000);
window.setTimeout(function(){ box.style.position = 'absolute'; }, 1000);

请使用此

最新更新