码迷,mamicode.com
首页 > 其他好文 > 详细

加载图片优化(先用一张小图片做高斯模糊, 再加载大图)

时间:2016-10-03 06:40:30      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:

http://www.jackpu.com/medium-shi-ru-he-zuo-tu-pian-jia-zai-de/

 

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <style>
        .placeholder {
            background-color: #f6f6f6;
            background-size: cover;
            background-repeat: no-repeat;
            position: relative;
            overflow: hidden;
        }

        .placeholder img {
            position: absolute;
            opacity: 0;
            top: 0;
            left: 0;
            width: 100%;
            transition: opacity 1s linear;
        }

        .placeholder img.loaded {
            opacity: 1;
        }

        .img-small {
            filter: blur(50px);
            /* this is needed so Safari keeps sharp edges */
            transform: scale(1);
        }
    </style>
</head>
<body>

<div class="placeholder" data-large="https://cdn-images-1.medium.com/max/1800/1*sg-uLNm73whmdOgKlrQdZA.jpeg">
    <img src="https://cdn-images-1.medium.com/freeze/max/27/1*sg-uLNm73whmdOgKlrQdZA.jpeg?q=20" class="img-small">
    <div style="padding-bottom: 66.6%;"></div>
</div>

<script>
    window.onload = function() {

        var placeholder = document.querySelector(.placeholder),
                small = placeholder.querySelector(.img-small)

        // 1: load small image and show it
        var img = new Image();
        img.src = small.src;
        img.onload = function () {
            small.classList.add(loaded);
        };

        // 2: load large image
        var imgLarge = new Image();
        imgLarge.src = placeholder.dataset.large;
        imgLarge.onload = function () {
            imgLarge.classList.add(loaded);
        };
        placeholder.appendChild(imgLarge);
    }
</script>
</body>
</html>

 

加载图片优化(先用一张小图片做高斯模糊, 再加载大图)

标签:

原文地址:http://www.cnblogs.com/linux-centos/p/5928418.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!