如何创建javascript延迟功能[重复]

     2023-02-19     270

关键词:

【中文标题】如何创建javascript延迟功能[重复]【英文标题】:How to create javascript delay function [duplicate] 【发布时间】:2013-05-28 06:07:22 【问题描述】:

我有一个 javascript 文件,在几个地方我想添加一个小的延迟,所以脚本会到达那个点,等待 3 秒,然后继续执行其余代码。我想到的最好的方法是创建一个函数,我可以从脚本中的任何位置调用它。

function startDelay(lengthOfDelay)

//code to make it delay for lengthOfDelay amount of time

但是,我找不到任何方法来实现代码以使其等待。我查看了 setTimeout,但您需要将函数硬编码到其中,这对我没有好处。

有什么方法可以让脚本暂停几秒钟?代码暂停时 UI 冻结没有问题。

如果没有,有没有办法可以使用 PHP sleep() 来实现这一点? (我知道 PHP 是服务器端,Javascript 是客户端,但也许有一种我没有听说过的方法。)

【问题讨论】:

最简单的方法是使用setTimeout 并在您提供给 setTimeout 的函数中执行其余代码。 ***.com/questions/10312963/javascript-settimeout 【参考方案1】:

您不需要对setTimeout 使用匿名函数。你可以这样做:

setTimeout(doSomething, 3000);

function doSomething() 
   //do whatever you want here

【讨论】:

如何创建一个函数,例如 startDelay(lengthOfDelay),我可以从脚本中的 anywhere 调用它,然后让它执行其余的代码,而不仅仅是 //在这里做任何你想做的事? 我不太确定你到底想做什么。你想暂停页面的执行还是安排一个延迟后执行的函数? @Kassem 我认为他的意思是例如如果您想使用 for 循环每秒控制台记录一条消息怎么办?即while(true) [a delay function, incorporating console.log] 我认为您的函数不会按顺序运行。 第一次对我不起作用,但以下解决了我的问题: setTimeout(function() doSomething(); , 3000);【参考方案2】:

啊,是的。欢迎使用异步执行。

基本上,暂停脚本会导致浏览器和页面在 3 秒内无响应。这对于网络应用来说太可怕了,因此不受支持。

相反,您必须考虑“基于事件”。使用 setTimeout 在一定时间后调用一个函数,该函数将在这段时间内继续运行页面上的 JavaScript。

【讨论】:

有什么办法吗?让页面无响应对我来说实际上是一件好事! 幸运的是:sleep.js ***.com/a/16873849/667927【参考方案3】:

您可以使用以下示例创建延迟

setInterval(function()alert("Hello"),3000);

3000 替换为 # of 毫秒

你可以把你想要执行的内容放在函数里面。

【讨论】:

这个答案有点欠缺(我认为),因为 setInterval 将继续每 3 秒运行一次,而不仅仅是一次。 @AdamDavis 我已经测试过这种方法,我没有遇到任何问题。如果您或其他人对此进行测试并以其他方式进行演示,请让社区知道。谢谢 @CBC_NS 我刚刚试了一下,我也让它每 3 秒重复一次。不过要记住很方便。 这个答案是错误的。原始帖子指出,“我想添加一个小延迟,以便脚本到达那个点,等待 3 秒,然后继续执行其余代码。”此代码将每隔 n 毫秒连续调用声明的函数,直到设置了 clearInterval。这可能会产生非常糟糕的意外后果。 只需将 setInterval 替换为 setTimeout 即可按预期工作

如何使用 JavaScript/JQuery 创建一个简单的地图 [重复]

】如何使用JavaScript/JQuery创建一个简单的地图[重复]【英文标题】:HowtocreateasimplemapusingJavaScript/JQuery[duplicate]【发布时间】:2011-05-1322:00:06【问题描述】:如何创建此Java代码的JavaScript/JQuery等效项:Mapmap=newHashMap();//Doesn\'tnothavetobe... 查看详情

如何使用css和javascript创建泪滴/水滴填充[重复]

】如何使用css和javascript创建泪滴/水滴填充[重复]【英文标题】:Howtocreateateardrop/waterdropfillingusingcssandjavascript[duplicate]【发布时间】:2020-06-0123:33:07【问题描述】:如何使用css和javascript动态填充水创建泪滴/水滴填充。例如。它将... 查看详情

异步 JavaScript - 回调与延迟/承诺 [重复]

】异步JavaScript-回调与延迟/承诺[重复]【英文标题】:AsynchronousJavaScript-CallbacksvsDeferred/Promise[duplicate]【发布时间】:2012-12-1703:41:33【问题描述】:可能重复:WhatarethedifferencesbetweenDeferred,PromiseandFutureinJavascript?最近我一直在努力提... 查看详情

如何创建要添加到 JavaScript 对象变量的动态键 [重复]

】如何创建要添加到JavaScript对象变量的动态键[重复]【英文标题】:HowdoIcreateadynamickeytobeaddedtoaJavaScriptobjectvariable[duplicate]【发布时间】:2011-01-2814:24:48【问题描述】:我正在尝试这样的事情,但这个例子不起作用。jsObj=;for(vari=1... 查看详情

如何创建要添加到 JavaScript 对象变量的动态键 [重复]

】如何创建要添加到JavaScript对象变量的动态键[重复]【英文标题】:HowdoIcreateadynamickeytobeaddedtoaJavaScriptobjectvariable[duplicate]【发布时间】:2011-01-2814:24:48【问题描述】:我正在尝试这样的事情,但这个例子不起作用。jsObj=;for(vari=1... 查看详情

如何在javascript中从字符串创建日期对象[重复]

】如何在javascript中从字符串创建日期对象[重复]【英文标题】:Howtocreateadateobjectfromstringinjavascript[duplicate]【发布时间】:2012-01-0316:45:49【问题描述】:有这个字符串30/11/2011。我想把它转换成日期对象。我需要使用:Dated=newDate(20... 查看详情

如何使用在html文档中搜索文本的javascript制作功能搜索框[重复]

】如何使用在html文档中搜索文本的javascript制作功能搜索框[重复]【英文标题】:Howtomakeafunctionalsearchboxusingjavascriptthatsearchestextinhtmldocument[duplicate]【发布时间】:2021-07-2314:10:07【问题描述】:我有一个像这样的html文档,并希望搜... 查看详情

javascript / node.js中的睡眠功能[重复]

】javascript/node.js中的睡眠功能[重复]【英文标题】:Sleepfunctioninjavascript/node.js[duplicate]【发布时间】:2019-08-1704:37:47【问题描述】:我正在尝试创建一个“睡眠”功能,我希望在继续执行下一个命令之前等待10秒。这不起作用。没... 查看详情

Javascript - 在创建时对数组元素执行操作[重复]

】Javascript-在创建时对数组元素执行操作[重复]【英文标题】:Javascript-PerformingactionsonArrayelementsoncreation[duplicate]【发布时间】:2016-07-0404:56:49【问题描述】:我正在尝试在Javascript中创建一个对象/类,它的行为类似于数组,但具... 查看详情

如何防止按键重复被触发 - JavaScript/jQuery

】如何防止按键重复被触发-JavaScript/jQuery【英文标题】:HowdoIpreventkeypressfromrepeatedlybeingfired-JavaScript/jQuery【发布时间】:2019-09-2514:26:15【问题描述】:我有一个功能可以在我的网站上运行每一帧。在里面,有一个按键检查,如果... 查看详情

setTimeout 函数执行代码没有任何延迟。 Javascript [重复]

】setTimeout函数执行代码没有任何延迟。Javascript[重复]【英文标题】:setTimeoutfunctionexecutingcodewithoutanydelay.Javascript[duplicate]【发布时间】:2020-07-2205:55:28【问题描述】:谁能解释为什么会这样。我在JS中创建了一个函数,并尝试在6... 查看详情

用Javascript创建数组[重复]

】用Javascript创建数组[重复]【英文标题】:CreatingArrayinJavascript[duplicate]【发布时间】:2014-09-1521:16:12【问题描述】:如何创建一个长度为3且数组元素值为0的数组。如果我将数组的长度设为3,那么数组应该如下所示a[0]=0;a[1]=0;a[2]... 查看详情

Javascript:如何在执行 javascript 代码之间设置一个简单的延迟?

】Javascript:如何在执行javascript代码之间设置一个简单的延迟?【英文标题】:Javascript:Howtoputasimpledelayinbetweenexecutionofjavascriptcode?【发布时间】:2011-06-2205:02:28【问题描述】:我有一个for循环,它在javascript代码中迭代超过10,000次... 查看详情

javascript延迟后运行功能(代码片段)

查看详情

如何从JavaScript中的数组返回对象[重复]

】如何从JavaScript中的数组返回对象[重复]【英文标题】:HowtoreturnanobjectfromanarrayinJavaScript[duplicate]【发布时间】:2019-05-2318:26:22【问题描述】:创建一个函数,该函数接受人员对象数组并从数组中返回第一个找到的宇航员对象。... 查看详情

创建随机问题和答案javascript [重复]

】创建随机问题和答案javascript[重复]【英文标题】:Creatingrandomquestionsandanswersjavascript[duplicate]【发布时间】:2017-10-0610:33:40【问题描述】:我的网站有一个问答部分,其中向用户提出了40个可能问题中的6个问题。每个人都有固定... 查看详情

检测网页上的 CapsLock Press [重复]

...以下功能,我想在按下按键时启动该功能<scripttype="text/javascript"language="javascript">functionchangeCa 查看详情

JavaScript / jQuery - 在添加和删除类与下一个函数之间添加延迟[重复]

】JavaScript/jQuery-在添加和删除类与下一个函数之间添加延迟[重复]【英文标题】:JavaScript/jQuery-AddDelaybetweenAddandRemoveClassandnextfunction[duplicate]【发布时间】:2012-09-0120:57:36【问题描述】:可能重复:jqueryaddafadetoan.addClass这是我的jsF... 查看详情