美文网首页
vue,页面上滑到一定位置,让某个元素固定在顶部

vue,页面上滑到一定位置,让某个元素固定在顶部

作者: pomelo_西 | 来源:发表于2019-05-28 16:11 被阅读0次
  1. 将fixed样式动态绑定到html上
    template:
<div id="home-tab" :class="[{'fixed-style': scrollTop > tabOffsetTop}, 'disney-tab index' + groupIndex]">
      <span
        v-for="(index, tab) in groupList | formatData" :key="index"
        :class="{'selected': selectedTab === tab.tabValue}"
        v-tap="select(index, tab)">
        {{ tab.tabName }}
      </span>
    </div>
  </div>
  1. 监听滚动条位置,获取当前需要fixed的元素的offsetTop
    script:
data () {
  return {
    tabOffsetTop: 0,
    scrollTop: 0
  }
},
ready () {
  let tabEle = document.getElementById('home-tab')
  vm.tabOffsetTop = tabEle.offsetTop
  window.addEventListener('scroll', this.handleScroll)
},
methods: {
  handleScroll () {
    this.scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || document.scrollingElement.scrollTop || 0
  },
},

相关文章

网友评论

      本文标题:vue,页面上滑到一定位置,让某个元素固定在顶部

      本文链接:https://www.haomeiwen.com/subject/kmmdtctx.html