Appearance
Better-Scroll 在非 Vue项目中的使用
首先需要引入better-scroll
<script src="scroll.js"></script>
最基本的需要使用一个 wrapper
包裹 content
来构建一个基本结构,例如
<div class="wrapper">
<ul class="content">
<li>
1
</li>
......
</ul>
</div>
除此之外,还需要定义一些基本的css,最重要的是要设置wrapper
的高度要小于content
的高度,这样才会有滑动的效果,例如下面的样式就是设置了wrapper
的高度,但是没有设置content
的高度,content
的高度会根据li
的数量以及高度来自动决定
.wrapper {
height: 420px;
background: orange;
width: 300px;
overflow: hidden;
}
ul {
display: flex;
flex-direction: column;
}
li {
display: block;
text-align: center;
border-bottom: 1px solid #333;
line-height: 60px;
}
最后进行最简单的初始化代码:
let wrapper = document.querySelector('.wrapper')
let scroll = new BScroll(wrapper)
使用的一些注意项目
better-scroll 会阻止默认的点击事件,所以需要在配置插件的时候,增加一个
click: true
可以在一个页面中使用两个better-scroll 插件,需要在页面中进行初始化时,分别对两个不同的容器进行初始化,如果是切换状态的两个容器,当页面加载时,第二个容器由于没有显示,可能会不能立即生成高度,所以better-scroll不会立即生效。
上拉加载时,需要在结尾增加
refresh()
事件,用于刷新better-scroll插件中的内容,重新计算。例如
let wrapper1 = document.querySelector('.wrapper')
let scroll1 = new BScroll(wrapper1, {
pullUpLoad: {
threshold: -30,
stop: 20
},
click: true,
})
scroll1.scrollTo(0, 0, 100)
scroll1.on('pullingUp', function () {
console.log('1')
scroll1.finishPullUp()
})
scroll1.refresh()
- 其他的方法或者功能请查阅官方文档