題目1:如何判斷一個元素是否出現在窗口可視范圍(瀏覽器的上邊緣和下邊緣之間,肉眼可視)。寫一個函數 isVisible實現
function isVisible($node) {
var scrollTop = $(window).scrollTop();
var windowHeight = $(window).height(); // Returns height of browser viewpot
var offsetTop = $node.offset().top; // 目標位置到頁面頂部的高度
if(offsetTop < scrollTop + windowHeight && offsetTop > scrollTop) {
return true;
}
return false;
}
題目2:當窗口滾動時,判斷一個元素是不是出現在窗口可視范圍。每次出現都在控制臺打印 true 。用代碼實現
$(window).on("scroll", function() {
if( isVisible($node1)) {
console.log("true");
}
})
function isVisible($node) {
var scrollTop = $(window).scrollTop();
var windowHeight = $(window).height(); // Returns height of browser viewpot
var offsetTop = $node.offset().top; // 目標位置到頁面頂部的高度
if(offsetTop < scrollTop + windowHeight && offsetTop > scrollTop) {
return true;
}
return false;
}
題目3:當窗口滾動時,判斷一個元素是不是出現在窗口可視范圍。在元素第一次出現時在控制臺打印 true,以后再次出現不做任何處理。用代碼實現
$(window).on("scroll", function() {
isVisible($node1);
})
var flag = true;
function isVisible($node) {
var scrollTop = $(window).scrollTop();
var windowHeight = $(window).height(); // Returns height of browser viewpot
var offsetTop = $node.offset().top; // 目標位置到頁面頂部的高度
if(offsetTop < scrollTop + windowHeight && offsetTop > scrollTop) {
if(flag) {
console.log(flag);
flag = false;
}
return true;
}
return false;
}
題目4: 圖片懶加載的原理是什么?
1、對于所有的img 標簽,把真實的地址放入自定義屬性data-img
2、當滾動頁面時,檢查頁面所有的img標簽,看看這個標簽是否出現在我們
的視野時,再去判斷它是否已經加載過,如果沒有加載過,加載它
題目5: 實現視頻中的圖片懶加載效果
預覽
代碼