You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

setTimeout函数未按预期工作,如何使其正常实现延迟执行?

解决setTimeout无法延迟执行window.resizeBy的问题

你的代码问题在于直接执行了函数并把结果传给setTimeout,而不是传递函数引用让它延迟执行。window.resizeBy(5, 1)和console.log('resized!')在代码运行到这一行时就会立刻执行,完全没等5秒延迟。

要让setTimeout按预期工作,需要把要延迟执行的代码包裹在一个函数里,作为setTimeout的第一个参数:

方法一:使用箭头函数(简洁写法)

setTimeout(() => {
  window.resizeBy(5, 1);
  console.log('resized!');
}, 5000);

方法二:封装独立函数(更易维护)

function handleResize() {
  window.resizeBy(5, 1);
  console.log('resized!');
}

setTimeout(handleResize, 5000);

另外注意:部分浏览器会限制脚本自动调整窗口大小(比如出于安全或用户体验考虑),如果还是没效果,检查是否是浏览器阻止了这个操作——比如在非用户手动触发的场景下,这类窗口操作可能会被拦截。

内容的提问来源于stack exchange,提问作者BeginnerCoder1992

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 06:34:50