饥人谷技术博客

懒加载

2017-08-21  本文已影响0人  liushaung

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

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

代码实现(调用上面的isVisble方法):
$(node).('scroll', function () {
  if (isVisible($(this))) {
    console.log(true)
  }
})

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

代码实现:
function isVisible($node) {
  var scrollTop = $(window).scrollTop()
  var windowVisible = scrolltop + $(window).height()
  var offsetTop = $node.offset().top
  if (offsetTop < windowVisible && offsetTop > scrolltop && !$node.data.visible) {
    $node.data('visible', 1)
    return true
  }
  return false
}
$(node).('scroll', function () {
  if (isVisible($(this))) {
    console.log(true)
  }
})

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

图片懒加载效果

新闻懒加载

上一篇 下一篇

猜你喜欢

热点阅读