better-scroll 適用於解決移動端各種滾動場景,滾動列表、輪播圖等。
better-scroll新版本設定輪播圖有一些變動。
slider.vue:
結構及部分樣式設定:
//插槽位置即輪播圖,在引入主頁面的中間插入
//小圓點採用絕對定位
@import "~common/stylus/variable"
.slider
min-height: 1px //防止文字溢位
.slider-group
position: relative
overflow: hidden
white-space: nowrap
.slider-item
float: left
box-sizing: border-box
overflow: hidden
text-align: center
adisplay: block
width: 100%
overflow: hidden
text-decoration: none
imgdisplay: block
width: 100%
recommend.vue:
其中需要注意,這邊需要控制顯示的時機,是由於slider.vue中設定html的寬度等是在mounted (即已完成模板渲染後執行),而recommend.vue 當還未獲取資料的時候,mounted 已經執行,為了確保元素的存在再渲染,所以新增判斷。
_setsliderwidth(isresize)
if (this.loop && !isresize)
this.$refs.slidergroup.style.width = width + 'px' //為元素設定容器的總寬度
},
addclass :(新增類名)
export function hasclass(el, classname)
export function addclass(el, classname)
let newclass = el.classname.split(' ') //split() 將原本的classname字串按空格分割成陣列
newclass.push(classname) //將新的classname 新增到上面的陣列中
el.classname = newclass.join(' ') //join() 以空格為連線符鏈結成class字串
}
拓展:
//刪除class
export function removeclass(el, classname)
let newclass = el.classname.split(' ') //分割class字串為class陣列
let index = newclass.findindex((item)=>)
newclass.splice(index,1) // 刪除索引中的這項
el.classname = newclass.join(' ') //將class陣列以空格為連線符連線成class字串
}
初始化 better-scroll時機,將那些函式在mounted 完成渲染後執行:(*一般初始化better-scroll不成功);
並通過監聽視窗改變事件,解決當視窗改變時,的寬度未發生改變的問題
mounted()
}, 20) //保證dom被渲染,做了20ms的延時(*為何值為20??* 因為瀏覽器重新整理時間一般為17ms一次)
window.addeventlistener('resize', () =>
this._setsliderwidth(true)
this.slider.refresh()
})
初始化better-slider外掛程式:
_initslider() ,
click: true
})this.slider.on('scrollend', () =>
this.currentindex = pageindex
if (this.autoplay)
})},
新版本的dots沒有改變設定:
_initdots() ,
_play()
this.timer = settimeout(() => , this.interval)
}
優化:
1. 及時關閉輪播,有利於記憶體的釋放
destroyed()
better scroll 上拉載入
首先需要乙個使用了bs編寫的列表 肯定是不能有bug的 bs中文文件 this.actscroll new bscroll actbox,pullupload 在初始化配置項裡面新增pullupload配置選項,給定上拉的數值 觸發上拉載入的事件,呼叫getinfo 請求資料 this.actscr...
better scroll滾動區域問題
在首頁時候,使用betterscroll外掛程式的時候,滾動的時候經常會卡頓。better scroll在決定有多少區域可以滾動時,是根據scrollerheight屬性決定的。scrollerheight屬性時根據better scroll的content中的子元件的高度。但是,剛開始在計算scr...
移動端 better scroll基礎
better scroll 是一款重點解決移動端 已支援 pc 各種滾動場景需求的外掛程式 滾動原理 1.與瀏覽器滾動原理一致,父容器高度固定,子元素內容撐開,必須產生滾動條,才能滾動。1.載入外掛程式 2.html內容 3.初始化呼叫bscroll scrollx 型別 boolean 預設值 f...