[英]Why is window.setTimeout returning with an error?
我正在为我在学校的同学编写一个笔记页面,并且我正在尝试为每个科目做一个小弹出框。 由于 css 转换不适用于 position 属性,我尝试使用 javascript 和 setTimeout。 由于某种原因,代码window.setTimeout(box.style.position = 'absolute', 1000);
不起作用并返回错误“未捕获的 ReferenceError:未定义绝对值”。 有人可以告诉我是什么导致了这个错误吗?
谢谢!
setTimeout
采用 function 参考,而不是普通的 JavaScript 代码。 另外,因为setTimeout()
是全局window
object 的方法,所以可以省略window.
只需直接调用setTimeout()
即可。
使您的代码如下:
setTimeout(function(){box.style.position = 'absolute'}, 1000);
或这个:
function foo(){
box.style.position = 'absolute'
}
setTimeout(foo, 1000);
window.setTimeout
接受 function 或要评估的字符串作为第一个参数。 由于box.style.position = 'absolute'
评估为'absolute'
,它会尝试将其作为代码执行,这会引发Uncaught ReferenceError: absolute is not defined
。 解决方案是传递一个 function 来代替执行。
window.setTimeout(()=>{box.style.position = 'absolute'}, 1000);
window.setTimeout(function(){ box.style.position = 'absolute'; }, 1000);
请使用这个
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.