首页 JavaScript图片懒加载
文章
取消

JavaScript图片懒加载

图片懒加载 SDK

  • 滚动节流
  • 图片进入视图内进行加载(elem.getBoundingClientRect()
  • topwindow.innerHeight

代码示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<script src="https://cdn.bootcdn.net/ajax/libs/lodash.js/4.17.21/lodash.min.js"></script>
<script>
    function mapImgesAndTryLoad() {
        const images =  document.querySelectorAll('img[data-src]')
        if (images.lenght ===0) return
        images.forEach(img => {
            const rect = img.getBoundingClientRect()
            if (rect.top < window.innerHeight) {
                img.src = img.dataset.src
            }
        })
    }
    window.addEventListener('scroll', _.thottle(() => {
        mapImgesAndTryLoad()
    }))
    // 页面初始化时调用
    mapImgesAndTryLoad()
</script>
转摘分享请注明出处

JavaScript基本知识

ts常见面试题