我正在为我在学校的同学编写一个笔记页面,并试图为每个主题做一个小弹出框。由于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);
请使用此