setTimeout
是一个本机
JavaScript
函数(尽管它可以与jQuery之类的库一起使用,我们将在后面看到),它会在指定的延迟(以毫秒为单位)后调用一个函数或执行一个代码段。
例如,如果您希望在访问者浏览页面一定时间后显示弹出窗口,或者希望在从元素上移除悬停效果之前等待一小段时间(以防用户意外地将其弹出),这可能会很有用。鼠标移出)。
基本setTimeout示例
为了演示该概念,下面的演示在单击按钮两秒钟后显示一个弹出窗口。
请参阅
CodePen
上的
SitePoint
(
@SitePoint
)的Pen
Delayed Magnific Popup模式
。
如果您没有看到弹出窗口,请访问
CodePen
并在那里运行演示。
句法
从
MDN文档中
,
setTimeout
的语法如下:
var timeoutID = scope.setTimeout(function[, delay, param1, param2, ...]);
var timeoutID = scope.setTimeout(function[, delay]);
var timeoutID = scope.setTimeout(code[, delay]);
哪里:
-
timeoutID
是数字ID,可与
clearTimeout()
结合使用以取消计时器。 -
scope
是指
Window接口
或
WorkerGlobalScope接口
。 -
function
是计时器到期后要执行的功能。 -
code
(使用替代语法)是要执行的代码字符串。 -
delay
是函数调用应延迟的毫秒数。 如果省略,则默认为0。
注意:方括号
[]
表示可选参数。
setTimeout与window.setTimeout
您会注意到上面的语法使用
scope.setTimeout
。 为什么是这样