Open yunyu950908 opened 7 years ago
//判断是否出现在视窗 function isVisible($node) { var offsetTop = $node.offset().top, scrollTop = $(window).scrollTop(), windowHeight = $(window).height(), windowTotal = scrollTop + windowHeight if (offsetTop < windowTotal && offsetTop > scrollTop) { return true } else { return false } }
//滚动时判断是否可见 function scroll($node) { $(window).on("scroll", function () { if (isVisible($node)) { console.log("true") } }) }
//滚动时判断是否可见及是否加载 function scroll($node) { $(window).on("scroll", function () { if (isVisible($node) && isLoad($node)) { $node.data("load", "loaded") console.log("true") } }) } //判断是否加载过 function isLoad($node) { if (!$node.data("load")) return true }
原理:
代码地址
效果预览:
题目1:如何判断一个元素是否出现在窗口可视范围(浏览器的上边缘和下边缘之间,肉眼可视)。写一个函数 isVisible实现
题目2:当窗口滚动时,判断一个元素是不是出现在窗口可视范围。每次出现都在控制台打印 true 。用代码实现
题目3:当窗口滚动时,判断一个元素是不是出现在窗口可视范围。在元素第一次出现时在控制台打印 true,以后再次出现不做任何处理。用代码实现
题目4: 图片懒加载的原理是什么?
原理: