移動端 better-scroll基礎
阿新 • • 發佈:2020-12-14
一、什麼是better-scroll
better-scroll 是一款重點解決移動端(已支援 PC)各種滾動場景需求的外掛
#滾動原理
1. 與瀏覽器滾動原理一致,父容器高度固定,子元素內容撐開,必須產生滾動條,才能滾動。
2. better-scroll只處理容器(wrapper)的第一個子元素(content)的滾動
#二、如何使用
1.載入外掛
2.HTML內容
<div class="wrapper"> <ul class="content"> <li>...</li> <li>...</li> ... </ul> <!-- 這裡可以放一些其它的 DOM,但不會影響滾動 --> </div>
3.初始化呼叫BScroll
var BScroll = new BScroll('.wrapper',{});
#三、better-scroll常見屬性
#scrollX
型別:Boolean
預設值: false
作用:當設定為 true 的時候,可以開啟橫向滾動。
#scrollY
型別:Boolean
預設值:true
作用:當設定為 true 的時候,可以開啟縱向滾動
#probeType
型別: Number 預設值:0 作用: 1 滾動一段時間後在去派發scroll事件 2 只要滾動會實時的派發scroll事件 3 不僅在滾動實時的派發scroll事件,並且在滾動動畫的時候也會派發scroll事件
#四、better-scroll常見方法
#bs.refresh()
重新計算 better-scroll,當 DOM 結構發生變化的時候務必要呼叫確保滾動的效果正常
#bs.scrollToElement(el, time, offsetX, offsetY, easing)
引數: {DOM | String} el 滾動到的目標元素, 如果是字串,則內部會嘗試呼叫 querySelector 轉換成 DOM 物件。 {Number} time 滾動動畫執行的時長(單位 ms) {Number | Boolean} offsetX 相對於目標元素的橫軸偏移量,如果設定為 true,則滾到目標元素的中心位置 {Number | Boolean} offsetY 相對於目標元素的縱軸偏移量,如果設定為 true,則滾到目標元素的中心位置 返回值:無 作用:滾動到指定的目標元素。
#bs.on();
bs.on("scroll",function(){
console.log(this.y);//滾動的距離 下拉是正值(拉的距離越大值越大) 上拉是負值
this.maxScrollY//最大的滾動距離
})