vue js手机端滑到某一个位置时固定位置显示

1、HTML

 <div id="searchBar">
    <ul class="items_filter" :class="searchBarFixed == true ? 'isFixed' :''">
    <li><span class="all">综合</span></li>
    <li><span class="all">综合2</span></li>
    <li><span class="all">综合3</span></li>
    <li><span class="all">综合4</span></li>
    <li><span class="all">综合5</span></li>
</ul>
</div>

 

2、data定义

data() {
    return {
      searchBarFixed:false,
    };
  },

3、在mounted钩子中给window添加一个滚动滚动监听事件

mounted() {
    window.addEventListener('scroll', this.handleScroll)
  },

4、然后在方法中,添加handleScroll方法

methods: {
    handleScroll () {
      var scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop
      var offsetTop = document.querySelector('#searchBar').offsetTop
      if (scrollTop > offsetTop) {
        this.searchBarFixed = true
      } else {
        this.searchBarFixed = false
      }
      // console.log(scrollTop,offsetTop)
    },
}

5、添加固定css

.isFixed{
    position:fixed;
}

6,其他的css 根据自己的需求去完成,写在  items_filter  里面即可

最后,在离开页面是需要销毁这个监听事件:

destroyed () {
    window.removeEventListener('scroll', this.handleScroll)
  },

图1为不固定,随页面的滑动而滚动

图2为滑动到一定位置时把筛选条件固定在上面

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值