懒加载

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

function isVisible($node){
      var windowHeight = $(window).height()
      var offsetTop = $node.offset().top
      var scrollTop = $(window).scrollTop()
      var nodeHeight = $node.outerHeight(true)
      if (scrollTop<offsetTop+nodeHeight&&scrollTop>offsetTop-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 (scrollTop<offsetTop+nodeHeight&&scrollTop>offsetTop-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 (scrollTop<offsetTop+nodeHeight&&scrollTop>offsetTop-windowHeight) {
        return true
      } else {
        return false
      }
    }

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

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

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

pic-load

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

news代码
mock代码

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 如何判断一个元素是否出现在窗口可视范围(浏览器的上边缘和下边缘之间,肉眼可视)。写一个函数 isVisible实现...
    _Dot912阅读 1,699评论 10 8
  • 1.如何判断一个元素是否出现在窗口可视范围(浏览器的上边缘和下边缘之间,肉眼可视)。写一个函数 isVisible...
    GarenWang阅读 476评论 0 2
  • 饥人谷_李栋 定义 图片懒加载 阶段实现 如何判断图片在可视范围 代码思路 封装 懒加载抽离 曝光去重 总结 一、...
    xingkong_s阅读 776评论 5 7
  • 如何判断一个元素是否出现在窗口可视范围(浏览器的上边缘和下边缘之间,肉眼可视)。写一个函数 isVisible实现...
    饥人谷_全阅读 324评论 0 0
  • 1:如何判断一个元素是否出现在窗口可视范围(浏览器的上边缘和下边缘之间,肉眼可视)。写一个函数 isVisible...
    晓风残月1994阅读 300评论 0 0