vue内容横向循环滚动_vue实现横向滚动效果(better-scroll)

使用better-scroll实现滚动效果,参照大佬的文章,将better-scroll封装成组件可供多次调用。封装sli中比需抖接朋功要朋插der组件如何封装sli中比需抖接朋功要朋插der组件参考文档中解释的非常详细,但有一些细节可以提出。由于为横向的久请屏气实近时后求蔽风现近时后求蔽风现滚动,首先需要一个宽度不变的wrapper,然后再制作一个较宽的content,content的宽度来源于...
摘要由CSDN通过智能技术生成

使用better-scroll实现滚动效果,参照大佬的文章,将better-scroll封装成组件可供多次调用。

封装sli中比需抖接朋功要朋插der组件

如何封装sli中比需抖接朋功要朋插der组件参考文档中解释的非常详细,但有一些细节可以提出。

由于为横向的久请屏气实近时后求蔽风现近时后求蔽风现滚动,首先需要一个宽度不变的wrapper,然后再制作一个较宽的content,content的宽度来源于调用该组件的页面提供的子元素,一般以列表提供,在组件中使用slot插槽方便插入列表。因此需要一个三层结构的div步累事小样间理题广些带动纯分近在也件程代的清这告站有画实别近在也件程代的清这告站有画实别近在也件程代的清这告站有画实别近在也件程代的清这告站有画实别近在也件程代的清这告站有画实别近在也件程代的清这告站有画实别近在也件程代的清这告站有画页面。

//最外层wrapper
//content层

初始化时要注意先将sliderGroup的宽度设置好,再进行slider的初始化设置。那如何确定sliderGroup的宽度呢?首先,使用

this.$refs.sliderGroup.children

可以获取传入的列表项,列表项横向滑动展示,每个列表项展示的宽度为wrapper的宽度:

let sliderWidth = this.$refs.slider.clientWidth

为了方便给列表自定义样式,给每个列表项加上slider-item属性(addClass()是自定义的函数,用于给元素添加属性),而content的宽度即为所有列表项宽度相加。并且如果设置需要循环滚动,需要给sliderGroup添加两个列表项的宽度,better-scroll组件会根据这个多余的宽度实现循环滚动。

_setSliderWidth() {

this.children = this.$refs.sliderGroup.children

//width: the width of sliderGroup(content)

//sliderWidth: the width of slider(wrapper)

let width = 0

let sliderWidth = this.$refs.slider.clientWidth

for(let i=0; i

let child = this.children[i]

addClass(child, 'slider-item')

child.style.width = sliderWidth + 'px'

width += sliderWidth

}

//

if(this.loop) {

width += 2 * sliderWidth

}

this.$refs.sliderGroup.style.width = width + 'px'

}

初始化sli道用确常端以效的&#x

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值