題目1:如何判斷一個元素是否出現(xiàn)在窗口可視范圍(瀏覽器的上邊緣和下邊緣之間,肉眼可視)。寫一個函數(shù) isVisible實現(xiàn)
image.png
題目2:當窗口滾動時,判斷一個元素是不是出現(xiàn)在窗口可視范圍。每次出現(xiàn)都在控制臺打印 true 。用代碼實現(xiàn)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style type="text/css">
.div1 {
height: 700px;
}
p {
color: red;
font-size: 40px;
border: 1px solid;
}
.div2 {
height: 700px;
}
</style>
<script type="text/javascript" src="http://code.jquery.com/jquery-3.2.1.js"></script>
<script type="text/javascript">
$(function(){
// var isOut =false
$(window).on('scroll',function(){
if(isVisible($('p'))){
// isOut =true
console.log('true')
}
else{
console.log('false')
}
})
function isVisible($node){
var $windowHeight = $(window).height()
var $scrollTop = $(window).scrollTop()
var $offsetHeight = $node.offset().top
if($offsetHeight <= $windowHeight + $scrollTop && $offsetHeight >= $scrollTop){
return true
}else{
return false
}
}
})
</script>
</head>
<body>
<div class="div1"></div>
<p>我出現(xiàn)了</p>
<div class="div2"></div>
</body>
</html>
題目3:當窗口滾動時,判斷一個元素是不是出現(xiàn)在窗口可視范圍。在元素第一次出現(xiàn)時在控制臺打印 true,以后再次出現(xiàn)不做任何處理。用代碼實現(xiàn)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style type="text/css">
.div1 {
height: 700px;
}
p {
color: red;
font-size: 40px;
border: 1px solid;
}
.div2 {
height: 700px;
}
</style>
<script type="text/javascript" src="http://code.jquery.com/jquery-3.2.1.js"></script>
<script type="text/javascript">
$(function(){
var isOut =false
$(window).on('scroll',function(){
if(isVisible($('p')) && !isOut){
isOut =true
console.log('true')
}
else{
console.log('false')
}
})
function isVisible($node){
var $windowHeight = $(window).height()
var $scrollTop = $(window).scrollTop()
var $offsetHeight = $node.offset().top
if($offsetHeight <= $windowHeight + $scrollTop && $offsetHeight >= $scrollTop){
return true
}else{
return false
}
}
})
</script>
</head>
<body>
<div class="div1"></div>
<p>我出現(xiàn)了</p>
<div class="div2"></div>
</body>
</html>
題目4: 圖片懶加載的原理是什么?
當窗口滾動的時,觸發(fā)窗口滾動時間,判斷圖片元素節(jié)點是否出現(xiàn)在窗口可視范圍并且是否第一次出現(xiàn),如出現(xiàn)且第一次出現(xiàn),則加載圖片。