javascript - 使用 jQuery 在页面加载时淡入图片

标签 javascript jquery

我目前正在使用这个 jQuery 片段来产生页面加载时图片一张一张淡入的效果:

jQuery(document).ready(function($) { 

    animatePictures('img');  

});

function animatePictures(selection) {
    elementsToAnimate = jQuery(selection);
    elementsToAnimate.hide().each(function(i) {
    jQuery(this).delay(i * 500).fadeIn(5000);
    });
}

这大致就达到了目的,但正如您所看到的,资源首先被加载,然后当 DOM 准备好时它们被隐藏,然后以 500 毫秒的间隔淡入。

我想知道你是否可以告诉我如何正确地做到这一点,以便图片在网站加载时真正淡入,并且不会首先隐藏然后然后 淡入。

我会感谢所有的建议。谢谢!

最佳答案

首先在你的CSS中将所有图片设置为显示:无

img{display: none;}

然后使用:

function animatePictures() {
   jQuery('img').each(function(i) {
      jQuery(this).delay(i * 500).fadeIn(5000);
    });
}
jQuery(window).load(function($) { animatePictures(); });

通过使用窗口加载,您的所有图片都将加载到内存中,并且可以与下载速率分开显示...如果您想优化页面,您可能会考虑使用惰性加载脚本...

关于javascript - 使用 jQuery 在页面加载时淡入图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27215945/

相关文章:

javascript - 使用两个 JavaScript 函数

javascript - 如何循环显示 Javascript 多维数组

javascript - jQuery Steps 新步骤被添加到新行

javascript - 一键执行两项任务,需要调用 jQuery 中的第二个函数

javascript - 如何从 CMD dir 命令中删除每行的前 30 个字符,并在 javascript 中为每个字符执行脚本写入?

javascript - 类型错误 : Cannot read property 'title' of null

javascript - 具有localStorage的BroadcastChannel-兼容性

jquery - 在滚动背景颜色更改期间包括颜色

jquery - 当我点击每个按钮时,它会显示与第一个按钮相同的内容

javascript - React 和 MobX - 用户离开现有页面时的确认对话框