调用多个 settimeout 时隐藏 div 文本

发布于 2024-11-14 06:01:47 字数 428 浏览 2 评论 0原文

它的要点:

我正在使用 jQuery 创建一个效果,其中显示一系列的 div,并且每个 div 都会“动画”一些文本的键入 - 这实际上只是我将 jQuery .html() 值重置为文本使用 Javascript 的 setTimeout() 多次调用子字符串(长度逐渐增加)。

每隔一段时间,打字动画就会在文本中途停止,然后一直挂在那里,直到理论上文本已经完成打字 - 此时它会显示完整的文本。在 Chrome、Firefox 和 Safari 中以及不同的计算机上,停顿现象始终出现在相同位置。奇怪的是,虽然我可以看到它停止运行,但在调试时我仍然可以看到 div 文本在 DOM 树中正确输入。

我还允许用户单击跳到下一个 div。仅在我触发此点击回调后才会出现停顿问题。

有人知道吗?我在这里很困惑。 :( 不幸的是我无法发布任何代码,但如果有帮助的话我可以提供伪代码。

The gist of it:

I'm creating an effect using jQuery where a succession of divs show up, and each div "animates" the typing of some text -- which is really just me resetting the jQuery .html() value to a text substring (of incrementally increasing length) very many times using Javascript's setTimeout().

Every once in a while the typing animation stalls partway through the text, and just hangs there until the text theoretically would have finished typing - at which point it shows the full text. The stalls occur consistently in the same places in Chrome, Firefox, and Safari and on different computers. The WEIRD part is that although I can see it stalling, while debugging I can still see the div text typing correctly in the DOM tree.

I also allow the user to click to skip to the next div. The stalling issue only occurs after I've fired this click callback.

Anyone got any idea? I'm pretty stumped here. :( Unfortunately I can't post any code, but I can give pseudocode if that would help.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

寄意 2024-11-21 06:01:47

Chrome、Firefox 和 Safari 都使用 JavaScript 到本机代码编译器。这些在未指定的点发生,导致 JavaScript 执行短暂延迟。可能是这个原因吧

Chrome, Firefox, and Safari all use JavaScript to native code compilers. These set in at unspecified points, causing a short delay in JavaScript execution. Might be the reason.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文