问题标签 [settimeout]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 使用 JavaScript 在特定延迟后执行脚本
是否有任何类似于 jQuery 的 JavaScript 方法delay()
或wait()
(将脚本的执行延迟特定时间)?
javascript - Javascript的setTimeout函数没有调用
setTimeout 函数似乎总是给我带来麻烦。现在我有一个递归函数(通过 setTimeout 调用自身)并更改元素高度。
该函数发送两个参数:要更改的元素和该元素的最大高度。该功能的目的是展开元素,或以恒定的速度“向下滑动”。我知道我可以用 jQuery 解决这个问题,但我正在尝试我自己的函数。
我在最初调用函数时测试了参数。max_height 设置为 20,因为它是元素所需的高度(我从 .scrollHeight 得到这个值)。
当函数完成后,我想让它自己调用,直到 max_height 是元素的高度。我通过这个 setTimeout 调用来做到这一点:
它不工作。这确实有效:
我也试过把函数调用直接放到setTimeout语句中,还是不行。
请注意,元素的高度确实改变了第一次迭代,该函数永远不会调用自己。所以元素变量设置正确,我使用 alert() 显示 max_height 也是正确的。
提醒这个:
javascript - setTimeout的使用——如何传递参数?
我正在尝试开发在幻灯片之间暂停的幻灯片。所以我正在尝试使用 setTimeout 语句,如下所示。这是为了将 2.jpg 替换为 1.jpg,在单击按钮时暂停 10 秒。但它现在确实有效。谁能帮我。谢谢。
jquery - 延迟jquery悬停事件?
我想延迟 jquery 中的悬停事件。当用户将鼠标悬停在链接或标签上时,我正在读取文件。如果用户只是在屏幕上移动鼠标,我不希望此事件立即发生。有没有办法延迟事件触发?
谢谢你。
示例代码:
更新: (09 年 1 月 14 日) 添加 HoverIntent 插件后,将上述代码更改为以下代码以实现它。实现起来非常简单。
javascript - setTimeout () 使用 iframe 移动 div 仅在 firefox 中导致闪烁
我有一个在 IE 和 Chrome 中工作的 javascript 中创建的水平滚动,但是在 Firefox 2 和 3 中我得到一个闪烁。正在移动的 div 包含一个 iframe,其中包含绝对定位的 div 的图像和文本。(见下面的代码。)
问题:
1) 出现在动画 div 左侧或右侧的 div 中的内容似乎在 style.left 移动到相邻 div“下方”的一侧闪烁。这只发生在 Firefox 中。
2)似乎当使用鼠标悬停处理程序大约 10 秒(仅在 Firefox 中)时,动画会暂停大约一秒钟,然后重新开始。这在 IE 或 Chrome 中都不会发生。
javascript是:
HTML 是:
谢谢你的支持!
javascript - VS2008 的 onerror 处理
这是示例代码,但它演示了一个问题。如果我在 FF 或 IE7 中运行它,它会打印出合理的“捕获错误”消息(假设一个合理的“日志”功能)。
但是,如果我在 VS2008 中调试代码,调试器会在抛出时停止并显示以下消息:“Microsoft JScript 运行时错误:抛出异常且未捕获”。如果我说“继续”或“忽略”,则不会生成日志消息。
这是一个问题,因为我正在使用的实际代码比这大得多,而且我偶尔会想要调试一些东西。所以两个问题:
- 任何人都知道为什么,我可以用一些我不知道的标志来修改这种行为吗?
- 我是否在此代码中做我认为我正在做的事情(设置全局“onerror”处理程序)?如果不是,那么捕获此类错误的适当模式是什么?
注意:如果我使用 window.onerror 代替,这个问题没有区别。
javascript - 此 JS 代码是否按预期工作?
每 3 秒我发出一个 AJAX POST 请求以获取进程的状态。这很好用。
当进程达到 100% 时,将执行回调函数(如下所示)以向页面添加新元素,然后取消用于每 3 秒连续获取进度的 setTimeout 方法。但是,我的用户告诉我它有时无法取消并且新元素没有添加到页面中,而且我一直卡在显示“100%”。
我已经一次又一次地测试了它,它永远不会卡住我。代码看起来也不错,但是我的 JavaScript 技能不是很好,所以我希望有人能指出是否有可能发生这个问题?
我已经评论了代码,很抱歉它很长。我试图减少它。
asp.net - 使用 JQuery/ASP.NET 进行简单的 ajax 聊天时出现堆栈溢出错误
我正在尝试使用 JQuery 和 ASP.NET 创建一个简单的 ajax 聊天。我的代码是这样工作的:
- 当页面加载时,它会通过对 messages.aspx 页面的请求刷新“聊天框”div,该页面处理从数据库获取新消息并使用 setTimeout() 启动自动刷新。
- 每当用户单击发送按钮时,它会将消息添加到 messages.aspx page_load 代码内的数据库中。
当超时开始时,我从一开始就收到堆栈溢出错误,我不确定是什么原因导致的?会不会是缓存?也许messages.aspx 中的代码无法在这5 秒内完成运行?任何帮助,将不胜感激!
此外,我并不担心 sql 注入攻击,但 b/c 我只是想让它使用简单的代码。
这是我的代码:
客户端
服务器端
javascript - setTimeout 但在给定时间
JavaScript中是否有任何现成的东西(即不是通过“插件”)允许我做类似的事情setTimeout
,但不是说应该在多少毫秒内发生某事,而是给它一个日期对象告诉它什么时候做某事?
是的,我知道我可以通过简单地减去new Date()
我现有的日期对象(或者可能是相反的方式)来获得毫秒数,但我仍然想知道。
javascript - setTimeout - 如何避免使用字符串进行回调?
使用时setTimeout
,必须将要执行的代码放入字符串中:
但是,我想执行一个在变量中有引用的函数。我希望能够做到这一点:
(虽然在现实生活中,警报是一段较长的代码,并myGreatFunction
作为参数传递给其他函数,在其中setTimeout
调用 。)
当然,当超时触发时,myGreatFunction
它不是一个可识别的函数,因此它不会执行。
我希望javascript让我这样做,但它不会:
有没有一个很好的方法来解决这个问题?