问题标签 [setinterval]

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.

0 投票
3 回答
224 浏览

settimeout - 有人对 Shoutbox 有什么想法吗?

我想创建一个喊话框,但我想知道是否有另一种方法来解决这个问题,而不是使用 setInterval 每隔几秒查询一次数据库中的新喊声。老实说,我不喜欢这样。似乎有点多余和重复,只是简单的老错误。更不用说它抓取数据时的尖叫声了。

所以我想知道专业人士是如何做到的?我的意思是,我已经看到了非常出色的喊话框,并且似乎没有使用任何 setInterval 或 setTimeout javascript 函数来执行此操作。

任何人都可以提出任何不使用 setInterval 或 setTimeout 的想法或方法吗?

谢谢 :)

0 投票
9 回答
43514 浏览

javascript - Javascript setInterval 和 `this` 解决方案

我需要this从我的setInterval处理程序访问

如何访问 this.prefs ajax.onload

0 投票
2 回答
3331 浏览

javascript - 了解 JavaScript 计时器线程问题

我开始使用实际上可以顺利运行的 javascript MMORPG。目前,我创建了一个演示来证明我可以移动角色并让他们互相聊天,以及看到彼此在现场移动。

http://set.rentfox.net/

现在 Javascript 计时器是我没有广泛使用的东西,但据我所知,如果我错了,请纠正我,同时发生多个 setIntervals 并不能很好地工作 b/c 它都在一个线程上.

假设我想让 10 个不同的人通过使用带有 setInterval 的精灵背景定位来向怪物发射火球——该动画将需要 10 个 setInterval 来重新绘制 DOM 以改变精灵背景位置。不会是大车吗?

我想知道是否有办法解决所有这些问题,也许使用 Canvas,这样动画就可以同时发生而无需创建事件队列,而且我不必担心计时器。

希望这是有道理的,如果我需要进一步澄清,请告诉我。

0 投票
4 回答
23628 浏览

javascript - 有没有办法通过 Onclick 按钮杀死 setInterval 循环

因此,我使用附加到 onClick 的 setInterval 在此函数中进行了无限循环。问题是,我无法在 onClick 中使用 clearInterval 来阻止它。我认为这是因为当我将 clearInterval 附加到 onClick 时,它会杀死特定的时间间隔,而不是完全杀死函数。我能做些什么来通过 onClick杀死所有间隔吗?

这是我的.js 文件,我正在拨打的电话是

0 投票
3 回答
1255 浏览

jquery - jQuery 事件处理与 setInterval 和 clearInterval 的 .live() 问题

jQuery 1.4.2:

我有一个图像。当 mouseover 事件被触发时,会执行一个函数,该函数运行一个循环来加载多个图像。相反, mouseout 事件需要将图像设置回预定图像,并且不再执行循环。这些仅适用于“拇指”类的图像:

当我鼠标移出时,图像设置为 default.jpg 但浏览器继续循环浏览图像。它永远不会停止。有人可以用一些知识打我吗?谢谢。

0 投票
5 回答
5620 浏览

javascript - 浏览器是否跟踪活动的计时器 ID?

浏览器是否跟踪活动setIntervalsetTimeoutID?还是这完全取决于开发人员来跟踪?

如果它确实跟踪它们,是否可以通过 BOM 访问?

0 投票
2 回答
2852 浏览

javascript - 多个 setIntervals 同时运行的问题

我在这里的第一篇文章。我想制作一个水平菜单,子菜单在鼠标悬停时向下滑动。我知道我可以使用 jQuery,但这是为了练习我的 javascript 技能。

我使用以下代码:

变量 submenustart 在另一个与我的问题无关的函数中被指定了一个值。
HTML 看起来像这样:

发生的情况如下:
如果我反复(例如)菜单A,它可以正常工作。如果我现在转到菜单 B,则应用于 A 的间隔现在应用于 B。现在有 2 个间隔函数应用于 B。最初用于 A 的一个函数和一个由 B 上的鼠标悬停触发的新函数。如果我会去 A现在所有的间隔都应用于 A。

我一直在寻找几个小时,但我完全被困住了。

提前致谢。

0 投票
4 回答
5615 浏览

javascript - Javascript 匿名函数和全局变量

我想我会尝试变得聪明并创建自己的等待功能(我意识到还有其他方法可以做到这一点)。所以我写道:

这一切都有效,除了无限循环。经检查,如果我取出 While 循环,匿名函数会按预期输入 5 次。很明显,全局变量countdowntimer是递减的。

但是,如果我在 While 循环中检查countdowntimer的值,它永远不会下降。尽管在 While 循环中调用了匿名函数!

显然,不知何故,有两个countdowntimer值浮动,但为什么呢?

编辑

好的,所以我(现在)理解 Javascript 是单线程的。这 - 有点 - 回答了我的问题。但是,在这个单线程的处理过程中,使用setInterval的所谓异步调用真的发生了吗?它只是在函数调用之间吗?当然不是,那些需要很长时间才能执行的功能呢?

0 投票
2 回答
3443 浏览

jquery - jQuery:setInterval 动画?

目前我正在尝试进行某种垂直自动滚动。这是我的代码

而且它根本不起作用。

有任何想法吗?

0 投票
2 回答
5397 浏览

javascript - 屏幕超时时,setInterval 在 Android 浏览器/移动 Safari 中暂停

我为移动 webapp 构建了一个简单的基于 JavaScript 的计时器;例如:

这在 Mobile Safari 和 Android 浏览器中运行得很好。它将每秒记录到控制台并相应地增加 a 的值。(好吧,Android 浏览器不支持 console.log,但我们假设它支持。)

问题:如果屏幕超时(即用户停止与页面交互),setInterval 函数会暂停。当用户再次打开他们的屏幕时,它会恢复。这对我不起作用,因为我需要计时器才能继续运行。

问题:有没有办法防止 setInterval 函数在屏幕超时时暂停?如果没有,是否可以防止屏幕超时?还有其他选择吗?

提前致谢!