javascript - 我们如何在 jQuery $.each 方法中逐一追加具有淡入效果的元素列表

标签 javascript jquery ajax each

我有一个通过 jQuery Ajax 获取的 json 响应 ($.ajax) 在 .done() 回调中,我正在操作对 html 输出的响应

.done(function(response) {
     $.each(response, function(i, video) {
        html = '<div class="col-lg-6">'+response.img+'</div>";
        $(html).appendTo('#myImages');
    })    
})

所以,上面的代码工作完美,但我想要实现的是,我想用图像[append var=html to #myImages] 一个接一个地出现每个div,并带有轻微的fadeIn效果,所以我怎样才能添加这个。我正在使用 setTimeout 函数进行检查,但这并不能按我想要的方式工作。

最佳答案

要使其淡入,您可以尝试以下操作:

$(html).hide().appendTo('#myImages').fadeIn(1000);

接下来,如果你想构建一个序列,有一些方法可以做到,这里是最简单的 async/await 尝试:

async function render(item, delay) {
  html = '<div class="col-lg-6">' + item.img + '</div>";
  $(html).hide().appendTo('#myImages').fadeIn(delay);

  return new Promise(function(resolve){
    setTimeout(function() {
      resolve();
    }, delay);
  })
}

.done(function(response) {
  for(var i = 0; i < response.lenght; i++) {
    try {
      await render(response[i], 1000);
    }
    catch(err) {
      console.log(err);
    }
  }
})

关于javascript - 我们如何在 jQuery $.each 方法中逐一追加具有淡入效果的元素列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46744086/

相关文章:

javascript - 当我使用 CSS 和 JS 向下滚动时,如何从左向右移动(动画)元素?

php - 在 Javascript 代码中使用 PHP 代码

javascript - 替换浏览器插件中的大量文本

javascript - Jquery Select2 插件不会应用于 JS 调用 Rails 应用程序后呈现的输入

java - 没有重定向的 Shiro 过滤器

javascript - Angularjs ng-src和phonegap读取文件

javascript - 突出显示由 #id 链接到的页面部分

javascript - JQuery 无法识别动态生成的 id

javascript - Ajax 页面(用于 WordPress)

javascript - Javascript 中数组与对象数据类型的区别