題目1:如何判斷一個元素是否出現在窗口可視范圍(瀏覽器的上邊緣和下邊緣之間,肉眼可視)。寫一個函數 isVisible實現
function isVisible($node){
var scrollTop = $(window).scrollTop()
var windowHeiht = $(window).height()
var offsetTop = $img.offset().top
if(offsetTop < scrollTop + windowHeiht && offsetTop > scrollTop){
return true
}
return false
}
題目2:當窗口滾動時,判斷一個元素是不是出現在窗口可視范圍。每次出現都在控制臺打印 true 。用代碼實現
$(window).on('scroll', function(){
if( isVisible($(node))){
console.log(true)
}
})
題目3:當窗口滾動時,判斷一個元素是不是出現在窗口可視范圍。在元素第一次出現時在控制臺打印 true,以后再次出現不做任何處理。用代碼實現
var isShow = true
$(window).on('scroll', function(){
if(isVisible($(node)) && isShow){
console.log(true)
isShow = false
}
題目4: 圖片懶加載的原理是什么?
將img標簽需要展示的url放入自定義屬性data-src中
當滾動頁面的時候,img出現在視野范圍內判斷img是否加載過,如果沒有則加載img,當滾動窗口繼續加載時候講data-src屬性導入src中,根據img位置加載對應url