better-scroll横向滚动纵向滚动

Posted glfan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了better-scroll横向滚动纵向滚动相关的知识,希望对你有一定的参考价值。

// 在vue中使用

<div ref="tab" class="tab">
<ul ref="tabWrapper" class="tab_content">
<li v-for="(item, index) in posterList" ref="tabitem" :key="item.id" class="tab_item" @click="gotoBillList(item, index)">
<div :style="[{‘background‘:`url(${item.image}) no-repeat top center`},{‘background-size‘: ‘cover‘}]" class="imgBg"/>
<!-- <div class="imgTitle">{{ item.title }}</div> -->
</li>
</ul>
</div>
 
//js部分
import BScroll from ‘better-scroll‘
 
created() {
this.$nextTick(() => {
this.InitTabScroll()
})
},
methods: {
InitTabScroll() {
// 两个0.3表示左右padding,动态计算子元素tabWrapper的宽度
const width = 0.28 + 0.28 + 2.6 * this.posterList.length + (this.posterList.length - 1) * 0.2
// for (let i = 0; i < this.itemList.length; i++) {
// width += this.$refs.tabitem[0].getBoundingClientRect().width // getBoundingClientRect() 返回元素的大小及其相对于视口的位置
// }
this.$refs.tabWrapper.style.width = width + ‘rem‘
this.$nextTick(() => {
if (!this.scroll) {
this.scroll = new BScroll(this.$refs.tab, {
startX: 0,
click: true,
scrollX: true,    // 横向滚动
scrollY: false,  //  纵向滚动
eventPassthrough: ‘vertical‘
})
} else {
this.scroll.refresh()
}
})
},

以上是关于better-scroll横向滚动纵向滚动的主要内容,如果未能解决你的问题,请参考以下文章

vue中如何使用better-scroll实现横向滚动?

better-scroll中嵌套原生滚动组件,原生滚动组件失效问题

vue中使用better-scroll做横向滚动注意事项

BScroll使用

css Div在页面中纵向固定,不随滚动条滚动,横向随滚动条滚动

[前端][CSS] 纯css实现纵向滚动固定表头与横向内容滚动