jquery - 是否可以在网页中从上到下顺序加载图像?

标签 jquery css image html

我想从上到下依次加载图像,例如见附图。

enter image description here

  • 第一次加载:图片 01
  • 当完全加载图像 01 然后加载图像 02,
  • 当完全加载图像 02 然后加载图像 03 等等...

.my-container {
  width: 1060px;
  margin: 0 auto;
  padding: 50px;
}
img {
  margin: 0 auto 35px;
  display: block;
  width: 100%;
  max-width: 100%;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="my-container">
  <div class="portfolio">
    <img alt="image 01" width="960" height="640" src="http://i.imgur.com/wIfbFMu.jpg">
    <img alt="image 02" width="960" height="640" src="http://i.imgur.com/thiOajQ.jpg">
    <img alt="image 03" width="960" height="720" src="http://i.imgur.com/YgIxbVF.jpg">
    <img alt="image 04" width="960" height="640" src="http://i.imgur.com/Xt6R20O.jpg">
    <img alt="image 05" width="960" height="625" src="http://i.imgur.com/XENpTvq.jpg">
    <img alt="image 06" width="960" height="638" src="http://i.imgur.com/qBMOAgZ.jpg">
  </div>
</div><!-- .my-container -->

我更喜欢 jQuery 解决方案。

最佳答案

设置一个函数,在当前索引处加载图像,并在图像加载后递增索引。

使用 data-src 属性可以使图像在 URL 被放入 src 属性之前不会加载。

我添加了一个控制台日志来显示图像正在按顺序加载。

$(function () {
   var $images = $('.portfolio img');
   var lastLoadIndex = 0;
   var loadNextImage = function () {
      if ($images.length === lastLoadIndex) {
          return;
      }
console.log('loading image at index ' + lastLoadIndex);
      $images.eq(lastLoadIndex).attr('src', $images.eq(lastLoadIndex).attr('data-src'));
      lastLoadIndex += 1;
   };
   $images.on('load', loadNextImage);
   loadNextImage();
});
.my-container {
  width: 1060px;
  margin: 0 auto;
  padding: 50px;
}
img {
  margin: 0 auto 35px;
  display: block;
  width: 100%;
  max-width: 100%;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="my-container">
  <div class="portfolio">
    <img alt="image 01" width="960" height="640" data-src="http://i.imgur.com/wIfbFMu.jpg">
    <img alt="image 02" width="960" height="640" data-src="http://i.imgur.com/thiOajQ.jpg">
    <img alt="image 03" width="960" height="720" data-src="http://i.imgur.com/YgIxbVF.jpg">
    <img alt="image 04" width="960" height="640" data-src="http://i.imgur.com/Xt6R20O.jpg">
    <img alt="image 05" width="960" height="625" data-src="http://i.imgur.com/XENpTvq.jpg">
    <img alt="image 06" width="960" height="638" data-src="http://i.imgur.com/qBMOAgZ.jpg">
  </div>
</div><!-- .my-container -->

关于jquery - 是否可以在网页中从上到下顺序加载图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43520357/

相关文章:

jquery - 我们如何使用 css3 更改复选框和单选框的背景颜色?

html - 页脚 Div 位置错误

python - 区分 PIL 和 CV2 图像

c# - ImageSource 的像素大小

php - 更改元素样式前需要刷新页面

javascript - Jquery div fadeIn 加载不工作

javascript - jQuery/javascript 在列表中查找值

html - 将div数据转换为word文档时绑定(bind)样式表和HTML div

php - 检查文件夹是否包含php中任何类型的图像

javascript - 如何将图像映射与图像 Sprite 一起使用?