- 将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>
- 监听滚动条位置,获取当前需要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
},
},
网友评论