`

JS 图片懒加载

阅读更多
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
body{
    margin: 0;
}
ul{
    margin: 0;
    padding: 0;
    list-style: none;
}
img{
    border: none;
    vertical-align: middle;
}
.in{
    border: 1px solid black;
    margin: 10px;
    text-align: center;
    height: 400px;
    width: 400px;
    float: left;
}
.in img{
    height: 400px;
    width: 400px;
}
</style>
</head>
<body>
<ul class="list">
    <li class="in"><img src="img/loading.gif" alt="测试" data-original = "img/img1.gif"></li>
    <li class="in"><img src="img/loading.gif" alt="测试" data-original = "img/img2.gif"></li>
    <li class="in"><img src="img/loading.gif" alt="测试" data-original = "img/img3.gif"></li>
    <li class="in"><img src="img/loading.gif" alt="测试" data-original = "img/img4.gif"></li>
    <li class="in"><img src="img/loading.gif" alt="测试" data-original = "img/img1.gif"></li>
    <li class="in"><img src="img/loading.gif" alt="测试" data-original = "img/img2.gif"></li>
    <li class="in"><img src="img/loading.gif" alt="测试" data-original = "img/img3.gif"></li>
    <li class="in"><img src="img/loading.gif" alt="测试" data-original = "img/img4.gif"></li>  
</ul>
<script>
var oBtn = document.getElementsByTagName('button')[0];
var aImages = document.images;
loadImg(aImages);
window.onscroll = function(){
    loadImg(aImages);
};
function loadImg(arr){
    for( var i = 0,len = arr.length; i < len; i++){
        if(arr[i].getBoundingClientRect().top < document.documentElement.clientHeight && !arr[i].isLoad){
            arr[i].isLoad = true;
            arr[i].style.cssText = "transition: ''; opacity: 0;"
            if(arr[i].dataset){
                aftLoadImg(arr[i],arr[i].dataset.original);    
            }else{
                aftLoadImg(arr[i],arr[i].getAttribute("data-original"));
            }
            (function(i){
                setTimeout(function(){
                    arr[i].style.cssText = "transition: 1s; opacity: 1;"
                },16)
            })(i);
        }
    }
}
function aftLoadImg(obj,url){
    var oImg = new Image();
    oImg.onload = function(){
        obj.src = oImg.src;
    }
    oImg.src = url;
}
</script>    
</body>
</html>

 

效果图:

 

 

 

 

 

 

 

  • 大小: 166.3 KB
1
0
分享到:
评论

相关推荐

    echo.js图片懒加载插件

    echo.js是一款轻量级、高性能的JavaScript图片懒加载插件,它能够有效地优化页面性能,提升用户浏览体验。 ### 1. 懒加载概念 懒加载(Lazy Loading)是一种优化策略,它允许内容在真正需要时才进行加载。对于图片...

    js图片懒加载插件

    在实际应用中,根据项目需求,开发者可以将"js图片懒加载插件"整合到现有的前端框架(如React、Vue或Angular)中,或者在纯JavaScript环境中独立使用。配合CDN服务,可以进一步优化加载速度,提升全球用户的访问体验...

    jquery.lazyload.js 图片懒加载 --demo

    **jQuery LazyLoad.js 图片懒加载技术详解及Demo演示** 在网页设计中,图片加载是一项重要的性能优化策略。尤其对于内容丰富的网站,一次性加载所有图片可能会导致页面加载速度变慢,影响用户体验。为了解决这个...

    js lazyLoad 图片懒加载demo

    标题中的"js lazyLoad 图片懒加载demo"指的是一个使用JavaScript实现的图片懒加载示例项目。在这个项目中,开发者可能会用到一个名为`lazyload.js`的插件,该插件帮助简化了图片懒加载的实现过程。 描述中提到的...

    layui图片懒加载.txt

    实现图片懒加载之前,需要先引入LayUI框架的JavaScript和CSS文件: ```html &lt;script src="/../layui/layui.js"&gt; ``` ##### 4.3 初始化懒加载 接下来,通过调用LayUI提供的`flow.lazyimg`方法来实现图片懒加载: ...

    js实现PC端移动端通用的图片懒加载.rar

    **JavaScript图片懒加载技术详解** 在现代网页设计中,为了提高页面加载速度和用户体验,图片懒加载已经成为一种不可或缺的技术。特别是在PC端和移动端,由于网络环境的差异和设备性能的不同,图片懒加载能够有效地...

    JS图片懒加载的优点及实现原理

    JS图片懒加载是一种常见的前端性能优化技术,通过延迟加载页面上的图片资源,仅在图片出现在用户的视窗范围内时才进行加载。这种方式可以有效地减少页面初次加载时发送的HTTP请求次数、降低服务器的压力,以及提升...

    JQuery实现页面图片懒加载效果仅需两行代码

    现在我们已经准备好了基本环境,只需要两行代码就能启用图片懒加载功能。首先,给需要懒加载的图片添加一个特定的CSS类,例如`lazy`: ```html ``` 这里,`data-src`属性用于存储图片的真实URL,而`src`属性可以...

    图片懒加载文件jquery插件库EasyLazyload

    图片懒加载是一种优化网页性能的技术,它在网页加载时并不会一次性加载所有图片,而是等到用户滚动页面,即将看到这些图片时才开始加载。这样可以显著减少初始页面加载时间,提高用户体验,特别是对于拥有大量图片的...

    html5+js(支持手机页面)图片懒加载

    HTML图片懒加载,亲测可用,插件也比较小,使用起来挺方便的.根据jquery 提供的 lazyload.js 插件实现图片懒加载,demo 在最下面。 lazyLoading.js 可以缓解庞大项目的网络压力lazyLoading.js图片懒加载

    图片懒加载svg-loading图片

    在实际应用中,可以将SVG加载动画与各种图片懒加载库(如lozad.js或lazysizes)结合使用,以实现更高效的网页加载。 总的来说,"loading-svg图片"结合图片懒加载技术,是提升网页性能和用户体验的有效手段。通过...

    sencha touch图片懒加载

    在处理大量图片时,为了提高页面加载速度和节省用户流量,通常会采用“图片懒加载”技术。这种技术允许我们在需要时才加载图片,而不是一次性加载所有图片。 图片懒加载的核心思想是只加载当前可视区域内的图片,当...

    前端实现图片懒加载(lazyload)的两种方式

    在前端开发中,图片懒加载(Lazy Load)是一种优化网页性能的技术,它允许网页只在用户滚动到可视区域时才加载图片,而不是一次性加载所有图片。这样可以显著减少页面初始加载时间,提升用户体验,尤其在处理大量...

    jQuery图片懒加载代码

    3. **js**:这个文件夹可能包含了一个或多个JavaScript文件,其中的代码实现了图片懒加载功能。通常会有一个主JS文件,如`lazyload.js`,里面包含了上面描述的逻辑,如滚动事件监听、判断图片是否在视口内以及替换...

    JQ 图片懒加载

    **JQ 图片懒加载**是一种优化网页性能的技术,它主要应用于含有大量图片的页面,以提高页面加载速度和用户体验。在传统的网页加载中,所有图片会在页面加载时一次性加载,这可能导致页面加载时间过长,尤其是对于...

    推荐移动端网页使用的图片懒加载

    总的来说,图片懒加载是移动端网页优化的重要手段,通过合理运用如Echo.js这样的插件,可以有效提升网页性能,为用户提供更加顺畅的浏览体验。在实际应用中,需要根据项目需求和用户行为调整懒加载策略,以达到最佳...

    JQuery LazyLoad 图片懒加载实例

    **jQuery LazyLoad 图片懒加载实例** 在网页设计中,图片加载是影响页面性能的关键因素。当页面包含大量图片时,一次性加载所有图片可能会导致页面加载速度变慢,用户体验下降。为了解决这一问题,我们可以使用`...

    简单的图片懒加载实现

    图片懒加载是一种优化网页性能的技术,它通过延迟加载非可视区域内的图片,直到用户滚动页面使其进入可视区域时才开始加载。这种技术可以显著减少页面初始化时的数据传输量,提高页面加载速度,提升用户体验,特别是...

Global site tag (gtag.js) - Google Analytics