前端页面滚动时固定导航栏

本文介绍如何使用Vue.js和Vant UI库,在页面滚动时使底部的特定区域(如导航栏)固定,同时保持其余内容随滚动而动态变化。通过示例代码演示了JavaScript监听滚动事件并控制CSS固定类的实现方法。
摘要由CSDN通过智能技术生成

vue + vant

1、如果导航栏就在顶部时,只需样式固定在顶部就好
2、但是想要固定的部分,不在导航栏,需要页面滚动到导航栏时固定,划回去的时候又不要固定时,可参考以下代码

Video_2021-08-06_102128

html部分
<!-- 上面有一些其他显示的东西-->
<div id="yj_bot">
  <!-- 需固定区-->
  <div :class="{'fixed': isFixed, 'main_bg_color': true}" >
    <van-tabs v-model="active"  :background="background">
      <van-tab title="全部"></van-tab>
      <van-tab title="卡片"></van-tab>
      <van-tab title="收款"></van-tab>
    </van-tabs>  
  </div>
   <!-- 内容区-->
  <div>内容区</div>
</div>
js部分
data () {
	return {
	    active: 0,
		isFixed: false
	}
},
methods: {
	handleScroll () {
      let scrollY = window.pageYOffset ||
          document.documentElement.scrollTop ||
          document.body.scrollTop
      let scrollObj = document.querySelector('#yj_bot').offsetTop
      if (scrollY >= scrollObj) {
        this.isFixed = true
      } else {
        this.isFixed = false
      }
    }
},
mounted () {
	window.addEventListener('scroll', this.handleScroll)
}
<style scoped>
  .fixed{position: fixed;width: 100%;z-index: 99;top: 0;}
<style>
  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值