运用到的方法属性:
滚动窗口到文档特定位置:window.scroll(x,y)
返回文档在窗口左上角水平和垂直方向上滚动的像素:
window.pageXOffset
window.pageYOffset
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>固定侧边栏</title>
<style>
*{
margin: 0;
padding: 0;
}
hr{
margin-top: 2000px;
}
.max-box{
display: flex;
flex-direction: column;
position: absolute;
top: 300px;
right: 20px;
border: 1px solid #666;
border-radius: 5px;
}
.max-box div{
flex: 1;
height: 20px;
padding: 10px 5px 10px 5px;
text-align: center;
cursor: pointer;
}
.max-box{
font-weight: bold;
}
.max-box div:nth-of-type(1){
background-color: aquamarine;
border-radius: 5px 5px 0 0;
}
.max-box div:nth-of-type(2){
background-color: #88320a;
color: #fff;
}.max-box div:nth-of-type(3){
background-color: #9dc56f;
display: none;
}.max-box div:nth-of-type(4){
background-color: #242c9b;
color: #fff;
border-radius: 0 0 5px 5px;
}
</style>
<script>
window.addEventListener('DOMContentLoaded',function(){
const maxbox = document.querySelector('.max-box')
const twochlid = maxbox.children[2]
document.addEventListener('scroll',function(){
//页面被卷曲的头部
// console.log(window.pageYOffset)
if(window.pageYOffset >= 150){
maxbox.style.position = 'fixed'
maxbox.style.top = 150 + 'px'
twochlid.style.display = 'block'
}else{
maxbox.style.position = 'absolute'
maxbox.style.top = 300 + 'px'
twochlid.style.display = 'none'
}
})
})
</script>
</head>
<body>
<div class="max-box">
<div>看广告</div>
<div>看视频</div>
<div class="min-box">返回顶部</div>
<div>店主小铺</div>
</div>
<hr>
</body>
</html>