这篇文章主要介绍“js如何实现淘宝固定侧边栏”,在日常操作中,相信很多人在js如何实现淘宝固定侧边栏问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”js如何实现淘宝固定侧边栏”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
1.实现效果:
当页面运行到banner区域时,右边侧边栏改为固定定位,当页面运行到主体区域时,右边侧边栏显示返回到顶部。
2.思路:
(1)给document加scroll事件。
(2)获取页面被卷去的部分用window.pageYOffset.
(3)不断判断页面滚动了多少。计算右边侧边栏应该待的位置。
3.代码:
pink老师用了固定定位fixed(固定定位是相对于窗口的距离),我做的还是用绝对定位(绝对定位是相对于父元素来说的,即document),都是可以实现的。
<!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>Document</title>
<style>
.top {
width: 80%;
height: 200px;
background-color: pink;
}
.banner {
width: 80%;
height: 400px;
background-color: aquamarine;
}
.main {
width: 80%;
height: 800px;
background-color: red;
}
.foot {
width: 80%;
height: 400px;
background-color:blanchedalmond;
}
.lan {
position: absolute;
right:10%;
top:400px;
width: 80px;
height: 80px;
background-color: cadetblue;
}
</style>
</head>
<body>
<div class="top">头部区域</div>
<div class="banner">banner区域</div>
<div class="main">头部区域</div>
<div class="foot">尾部区域</div>
<div class="lan"></div>
<script>
var lan = document.querySelector('.lan');
document.addEventListener('scroll', function() {
console.log('jkjkkj');
var top = window.pageYOffset;
if(top > 200) {
// 改为固定定位。
var topp = 400-200 + top;
lan.style.top = topp+'px';
if(top > 600) {
lan.innerHTML = '返回顶部';
} else {
lan.innerHTML = '';
}
} else {
lan.style.top = 400+'px';
lan.innerHTML = '';
}
})
</script>
</body>
</html>
到此,关于“js如何实现淘宝固定侧边栏”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。