繁体   English   中英

为什么 window.setTimeout 返回错误?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM