今天和大家分享下better-scroll这款移动端用来解决各种滚动需求的插件(目前已经支持PC)
关于其中的API大家可以去官网看下 这里就给大家介绍几种常用的以及需要注意的点是什么
首先说一下better-scroll的使用注意问题吧
1、移动端 我们通常采用三段式进行布局的 例如 <div class="container"> <header></header><main></main><fotter></fotter> </div> 假如我们利用弹性盒布局的话 给container 开盒子后我们一般给头部和尾部固定的高度 给main这个中间盒子一个flex:1;和overflow:auto ,让其达到可以自由滚动效果 但是如果我们给main这层中间盒子加载了better-scroll这款插件后 我们需要把auto改成hidden 毕竟给上固定高度百分百(当然这里可以省略)
可是有的人就会发现有时滚动效果没有作用对吧 嘿、此时第一个注意问题就来了 加载better-scroll的元素只能有一个直属子元素 也就是 <main><div class="content">剩余布局盒子写在这里</div></main>这种形式 并且content这层盒子不能给固定高度 当content的高度大于外层main这个盒子后better-scroll就会生效
2、然后第二点就是今天的重头戏 吸顶效果了
相信用过这款插件的就会知道我们的滚轮在这里是没有作用的 这也意味着onscroll事件不能使用了 那吸顶效果该如何去做才好呢 在better-scroll中给我们提供了这样一个方法 bs.on("scroll",function(e){}) 此时的e能够打印出一个关于滚动产生的x y 对象 注意这个方法要想生效我们需要在 这个bs对象中添加probeType这个属性 写法如下
1 let bs = new BScroll("main", { 2 pullUpLoad: true,//上拉 3 pullDownRefresh: true,//下拉 4 //也可以写成对象模式 5 //注意上拉不支持 6 // pullDownRefresh:{ 7 // //下拉到一百的位置才会触发 8 // threshold:100, 9 // //然后松手后返回50的位置 10 // stop:50, 11 // } 12 }) 13 14 bs.on("pullingDown", function () { 15 //"pullingUp 上拉" 16 console.log("下拉刷新"); 17 //这个事件开始告诉浏览器开始下拉刷新了 18 //然后进行一些数据的请求 19 20 //当数据请求过来后 21 //告诉浏览器下拉结束 22 bs.finishPullUp();//上拉结束 23 bs.finishPullDown(); 24 //DOM结构发生改变后可以刷新下 25 bs.refresh() 26 })
如果本文对你有所帮助的话 请动动您漂亮的手指点个赞喽~~~