HTML图片懒加载

现在的网站越来越花哨, 图片加载越来越多, 这样加载速度就会越来越慢了, 因此, 图片懒加载就很流行咯~

1.img标签中的src属性删掉, 此时, 添加属性 data_src, 把图片链接放在该属性下

2. 通过使用img标签添加背景图片, 充当懒加载前的显示图片

3. 当该img标签在浏览器显示区内时, 通过js实现把img标签 中的data_src的链接赋值到img标签中的src属性
注: 浏览器显示区如何判断


JS code

// 页面懒加载
function loadlazy(){
    var itv = setTimeout(function(){
        var winHeight = $(window).height();
        var scrolltop = $(window).scrollTop();
        $('.lazyload-img').each(function(){
            var oTop = $(this).offset().top;
            if((oTop-scrolltop) >= 0 && (oTop-scrolltop)<winHeight){
                var src = $(this).attr("data_src");
                $(this).attr("src",src);
            }
        })
    },100);
}
    
// 页面滚动加载
$(window).scroll(function(){
    loadlazy();
}
 
// 页面加载完成
$(function() {
    loadlazy();

HTML图片懒加载是一种优化网页性能的技术,它可以延迟加载页面上的图片,只有当图片进入可视区域才进行加载,从而减少页面加载间和带宽消耗。下面是一种常见的HTML图片懒加载动画的实现方式: 1. 在HTML中,将需要懒加载图片的src属性设置为一个占位符,例如: ```html <img src="placeholder.jpg" data-src="image.jpg" class="lazyload" alt="Image"> ``` 2. 使用CSS为占位符图片添加样式,使其显示为一个加载动画,例如: ```css .lazyload { background: url(loading.gif) center center no-repeat; } ``` 3. 使用JavaScript监听页面滚动事件,当图片进入可视区域,将data-src属性的值赋给src属性,实现图片的懒加载效果。以下是一个简单的示例代码: ```javascript window.addEventListener('DOMContentLoaded', function() { var lazyloadImages = document.querySelectorAll('.lazyload'); var lazyloadThrottleTimeout; function lazyload() { if (lazyloadThrottleTimeout) { clearTimeout(lazyloadThrottleTimeout); } lazyloadThrottleTimeout = setTimeout(function() { var scrollTop = window.pageYOffset; lazyloadImages.forEach(function(img) { if (img.offsetTop < (window.innerHeight + scrollTop)) { img.src = img.dataset.src; img.classList.remove('lazyload'); } }); if (lazyloadImages.length === 0) { document.removeEventListener('scroll', lazyload); window.removeEventListener('resize', lazyload); window.removeEventListener('orientationChange', lazyload); } }, 20); } document.addEventListener('scroll', lazyload); window.addEventListener('resize', lazyload); window.addEventListener('orientationChange', lazyload); }); ``` 这样,当页面滚动图片会逐渐加载并显示出来,给用户带来更好的体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值