scroll-view组件bindscroll实例应用:自定义滚动条

Posted baimeishaoxia

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了scroll-view组件bindscroll实例应用:自定义滚动条相关的知识,希望对你有一定的参考价值。




我们知道scroll-view组件作为滑动控件非常好用,而有时候我们想放置一个跟随滚动位置来跟进的滚动条,但又不想用滚动条api该怎么办呢?(当然是自己写一个呗还能怎么办[自黑冷漠脸])


嗯,没错。自己写一个就好了啊。[厚脸皮点头]


请看效果图

技术图片
那么如何做呢?我是通过scroll-view组件的bindscroll事件来自定义的。让我们先看看文档:
技术图片
请小伙伴们看看,滚动时会触发bindscroll事件,触发时会生成scrollLeft、scrollTop等的数据;好,那让我们console一下看看。



没滚动时:
技术图片
可以看到scrollLeft的值为0



滚动到最右边时:

技术图片
scorllLeft的值变为222.6多了



这就说明滚动的总长度范围是0~222.6,那么,我们可以根据滚动范围来制定一个比例,动态的设置红线滚动条的水平距离。


贴上代码


wxml

//红线滚动条的wxml,动态设置其left值
<view class="scroll-line">
    <view class="scrollMove" style="left:{{viewleft}}rpx"></view>
 </view>

js

//滚动触发函数scrollMove
scrollMove: function(e) {
    //获取滚动距离
    var left = e.detail.scrollLeft;
    //将滚动距离(位移)动态添给滚动条的left
    this.setData({
        viewleft: left
    })
}



也是很简易的一个小方法,欢迎各位提建议噢~



附:我的github地址


谢谢各位小伙伴~


技术图片
















































以上是关于scroll-view组件bindscroll实例应用:自定义滚动条的主要内容,如果未能解决你的问题,请参考以下文章

小程序-云开发 bindscroll滚动事件执行setData()方法,导致scroll-view视图抖动

scroll-view组件实现下拉刷新, 拉到底加载更多

小程序-scroll-view用法及属性

小程序丨怎么获取scroll-view的滑动距离

微信小程序把玩scroll-view组件

微信小程序实现左右联动的菜单列表