javascript - 延迟加载元素 jQuery

标签 javascript jquery css

所以我有一个 li 元素的列表,我试图将它们一个一个地加载。

因此您点击了页面,第一个使用 css transform: translateX() 从左侧移动并淡入。然后是下一个,依此类推。

我的 index.html 看起来像:

<div class="list_wrapper">
    <li>Item 1</li>
    <li>Item 2</li>
    <li>Item 3</li>
    <li>Item 4</li>
    <li>Item 5</li>
    <li>Item 6</li>
    <li>Item 7</li>
    <li>Item 8</li>
    <li>Item 9</li>
</div>

我有一些样式可以添加背景图像和显示 block 等,以使 li 标签并排排列,但我没有添加它们,因为我不知道不想让问题太长。

编辑:

我的每个 li 标签都有样式,可以让它们更靠左,所以加载时会像这样移动它们:transform: translateX(-10%);

我的 jQuery :

$(function() {
    $('.list_wrapper li').each(function(i) {
    $(this).delay((i++) * 500).css({
      'opacity': '1',
      'transform': 'translateX(0%)'
    })
  })
});

每当我点击该页面时,它都会立即将样式添加到 li 标记中。它不会执行我试图通过的 jQuery delay

最佳答案

为什么你不用这么简单的setTimeout试试这个

$('button').click(function(){
  $('li').each(function(i){
    setTimeout(function(){
      $('li').eq(i).css({
      	'transform': 'translateX(0%)',
        'opacity': 1
      });
    }, 1000*i)
  })
})
li{
  transition: all 0.7s ease-in-out;
  transform: translateX(-10%);
  opacity: 0
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="list_wrapper">
    <li>Item 1</li>
    <li>Item 2</li>
    <li>Item 3</li>
    <li>Item 4</li>
    <li>Item 5</li>
    <li>Item 6</li>
    <li>Item 7</li>
    <li>Item 8</li>
    <li>Item 9</li>
</div>
<button>ok</button>

关于javascript - 延迟加载元素 jQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35626027/

相关文章:

javascript - 如何在输入字段中使用 bootstrap 4 制作芯片

javascript - 需要帮助将纹理背景设置为容器 div

html - 如何使用 CSS 创建模板?

javascript - document.write 在一个新的 open.document 中

javascript - 如何让 jquery 在点击时自动完成搜索

javascript - 同一类别的多个项目的 Animejs 时间轴

javascript - jQuery 向下切换箭头 'ontoggle'

html - 对抗透视效应

javascript - 带有 D3.geo.path 的谷歌地图

java - 判断当前Javascript实现是否是Rhino