javascript - jQuery 多种方法等待

标签 javascript jquery html asynchronous hide

有没有办法在循环中等待隐藏函数?我的意思是如果我在 html 中有这个结构:

<div class='example'>
    <span> One </span>
    <span> Two </span>
    <span> Three </span>
<div>

在 js 中我想做这样的事情:

$('.example span').each(function(i, span) {
    $(span).hide('slow');
});

我相信 js 是异步的,所以它不会等待隐藏结束,但也许有一种方法我不知道要等到隐藏动画完成并继续下一个元素?

最佳答案

您可以使用 .delay()在正确的时间运行它们,如下所示:

$('.example span').each(function(i, span) {
  $(span).delay(600 * i).hide('slow');
});

You can give it a try here

我们在这里所做的就是将下一个动画延迟 600 毫秒 ( the "slow" duration ) 乘以它的索引,所以第一个立即开始(基于 0,0*600=0),第二个在 600 毫秒(第一个应该完成)然后),第三个在 1200 毫秒,等等。

关于javascript - jQuery 多种方法等待,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3371263/

相关文章:

javascript - 使用 JavaScript Cookie 的简单购物车

javascript - 通用谷歌分析中的 _u 参数收集点击

html - 我的 Bootstrap div 内的 DIv 不会右对齐(但文本会)

javascript - splinter 的视差卷轴

html - CSS 重复选择器

javascript - JavaScript Promise 中的 "Resolve"函数

javascript - 在 JavaScript 中更新数据后,我的 DOM 对象不会更新

jquery - 更改元素 ID 时日期选择器失去绑定(bind)

javascript - FullPage.js - slider 每次自动滚动到顶部

javascript - 如何强制用户在 javascript 提示符中输入值?