懒加载

1、如何判断一个元素是否出现在窗口可视范围(浏览器的上边缘和下边缘之间,肉眼可视)。写一个函数 isVisible实现

function isVisible($node){
      var windowHeight = $(window).height()
      var offsetTop = $node.offset().top
      var scrollTop = $(window).scrollTop()
      var nodeHeight = $node.outerHeight(true)
      if (scrollTopoffsetTop-windowHeight) {
        return true
      } else {
        return false
      }
    }

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

    $(window).on('scroll',function(){
      if (isVisible($('#btn'))) {
          console.log('true')
      }    
    })
    function isVisible($node){
      var windowHeight = $(window).height()
      var offsetTop = $node.offset().top
      var scrollTop = $(window).scrollTop()
      var nodeHeight = $node.outerHeight(true)
      if (scrollTopoffsetTop-windowHeight) {
        return true
      } else {
        return false
      }
    }

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

    $(window).on('scroll',function(){
      $('.pic-ct img').not('.load').each(function(){
        if (isVisible($(this))) {
          $(this).addClass('load')
          console.log('true')
        }
      })
    })
    function isVisible($node){
      var windowHeight = $(window).height()
      var offsetTop = $node.offset().top
      var scrollTop = $(window).scrollTop()
      var nodeHeight = $node.outerHeight(true)
      if (scrollTopoffsetTop-windowHeight) {
        return true
      } else {
        return false
      }
    }

4、 图片懒加载的原理是什么?

在页面载入的时候将页面上的img标签的src指向同一个图片, 把真实地址存放在一个自定义属性中。当图片显示在浏览器窗口可视位置时,再把图片的真实地址给src。

5、实现视频中的图片懒加载效果

pic-load

6、实现视频中的新闻懒加载效果

news代码
mock代码

你可能感兴趣的:(懒加载)