1.如何判断一个元素是否出现在窗口可视范围(浏览器的上边缘和下边缘之间,肉眼可视)。写一个函数 isVisible实现
答:
function isVisible($nodw){
var winH = $(window).height(),
winTop = $(window).scrollTop,
offsetTop = e.offset().top;
if(offsetTop<winHeight+winTop){
console.log("hello");
return true;
}
}
2.当窗口滚动时,判断一个元素是不是出现在窗口可视范围。每次出现都在控制台打印 true 。用代码实现
var winH = $(window).height(),
offsetTop = $node.offset().top;
$(window).on('scroll',function(){
var scrollTop = $(this).scrollTop();
if(offsetTop<winHeight+scrollTop){
console.log('true')
}
})
3.3.当窗口滚动时,判断一个元素是不是出现在窗口可视范围。在元素第一次出现时在控制台打印 true,以后再次出现不做任何处理。用代码实现
var winH = $(window).height(),
offsetTop = $node.offset().top;
$(window).on('scroll',function){
var scrollTop = $(this).scrollTop();
if(!$node.data('isShow')){
if(offsetTop<winH+scrollTop){
console.log(''true)
}
$node.data('isShow',true)
}
})
4.图片懒加载的原理是什么?
答:如果页面上图片过多的时候,同时全部加载会消耗很多资源甚至卡顿,所以需要懒加载来解决这个问题。当图片出现在浏览器窗口的时候,再去加载这一个图片,一般先把原图片自定义一个空白的图片地址,当需要再加这个图片的时候,再对图片的src进行替换,从而加载出来图片。