【发布时间】:2022-01-11 22:45:01
【问题描述】:
如果滚动页面看不到wrapt,则需要显示nava
反之亦然 - 如果 wrapt 可见,则隐藏 nava
这段 JS 代码有什么问题?
let io = new IntersectionObserver((entries) => {
entries.forEach(entry => {
if(entry.isIntersecting){modify(entry.target);}
else{revert(entry.target);}
});
});
function modify(el){
if(el.id == "wrapt"){$(nava).slideUp();}
}
function revert(el){
if(el.id == "wrapt"){$(nava).slideDown();}
}
$(document).ready(function(){
io.observe(document.querySelector('#wrapt'));
});
.nava{
display:none
height:25px;
background:orange;
position:relative;
z-index:9;
}
.wrapt{
height:54px;
background:lightblue;
}
.story{
height:200vh;
background:#ddd;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class='nava' id='nava'></div>
<div class='wrapt' id='wrapt'></div>
<div class='story'></div>
【问题讨论】:
标签: javascript intersection-observer