懒加载

2017-05-30  本文已影响0人  七_五

1、当窗口滚动时,判断一个元素是不是出现在窗口可视范围。每次出现都在控制台打印 true

function isVisible($node){
    $(window).on('scroll',function(){
        var scrollTop = $(this).scrollTop()
        var windowHeight = $(this).height()
        var top = $node.offset().top
//元素出现在窗口可见范围内,console打印出true
        if(scrollTop+windowHeight>top){
            console.log('true')
        }
    })
}

2、当窗口滚动时,判断一个元素是不是出现在窗口可视范围。在元素第一次出现时在控制台打印true,以后再次出现不做任何处理。


$(window).on('scroll',function(){
  if(isVisible($node.not('.show'))){
    console.log('true')
    $(this).addClass('show')
  }
})

function isVisible($node){
        var scrollTop = $(this).scrollTop()
        var windowHeight = $(this).height()
        var offsetTop = $node.offset().top
        var nodeHeight = $node.offset().top
        if(scrollTop+windowHeight>offsetTop && scrollTop<offsetTop + nodeHeight){
           return true
        }else{
           return false
}

3、图片懒加载原理
图片的懒加载就是将图片较多的页面进行图片依据滚动到当前页面的条件加载。在加载之前将图片使用空白或占位图加载,在滚动条滚动至图片位置出现在浏览器视图窗口中时进行加载,从而避免了同时加载大量图片引起的服务端返回资源过多发生阻塞的情况
实现的核心要点:

scrollTop(滚动距离) + windowHeight(浏览器窗口大小) > offsetTop(元素距离scrollTop=0的距离)
scrollTop < offsetTop + height(元素占据高度)
上一篇下一篇

猜你喜欢

热点阅读