微信小程序scroll-view點(diǎn)擊項(xiàng)自動居中效果的實(shí)現(xiàn)
效果
代碼
布局樣式代碼省略,以下只展示邏輯代碼
<scroll-view scroll-x scroll-left="{{scrollLeft}}" scroll-with-animation class="scroll-view"> <view class="class-item" wx:for="{{classList}}" wx:key="id" bindtap="switchClass"> <text class="name">{{item.className}}</text> </view> </scroll-view> onReady(){ wx.createSelectorQuery().select('.scroll-view').boundingClientRect((rect)=>{ this.data.scrollViewWidth = Math.round(rect.width) }).exec() }, switchClass(){ let offsetLeft = e.currentTarget.offsetLeft this.setData({ scrollLeft: offsetLeft - this.data.scrollViewWidth/2 }) }
我們想要的是居中的效果,所以觸發(fā)滾動的條件是點(diǎn)scroll-view
寬度一半之后的項(xiàng)才開始滾動,所以需要減去寬度的一半
offsetLeft
為相對于scroll-view
總長度的X軸距離,只要相減計(jì)算后的數(shù)值為正數(shù),就可以證明上面的條件,觸發(fā)滾動
推薦閱讀:微信小程序 scroll-view實(shí)現(xiàn)錨點(diǎn)滑動的示例
總結(jié)
到此這篇關(guān)于微信小程序scroll-view點(diǎn)擊項(xiàng)自動居中效果的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)小程序scroll-view自動居中內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
javascript實(shí)現(xiàn)客戶端兼容各瀏覽器創(chuàng)建csv并下載的方法
這篇文章主要介紹了javascript實(shí)現(xiàn)客戶端兼容各瀏覽器創(chuàng)建csv并下載的方法,實(shí)例分析了javascript操作csv文件的技巧,需要的朋友可以參考下2015-03-03有關(guān)JS中的0,null,undefined,[],{},'''''''''''''''',false之間的關(guān)系
這篇文章主要介紹了有關(guān)JS中的0,null,undefined,[],{},'',false之間的關(guān)系,需要的朋友可以參考下2017-02-02用js實(shí)現(xiàn)的一個根據(jù)內(nèi)容自動生成表格的函數(shù)
用js實(shí)現(xiàn)的一個根據(jù)內(nèi)容自動生成表格的函數(shù)...2007-08-08使兩個iframe的高度與內(nèi)容自適應(yīng),且相等
使兩個iframe的高度與內(nèi)容自適應(yīng),且相等...2006-11-11在JavaScript中遭遇級聯(lián)表達(dá)式陷阱
在JavaScript中遭遇級聯(lián)表達(dá)式陷阱...2007-03-03微信支付如何實(shí)現(xiàn)內(nèi)置瀏覽器的H5頁面支付
這篇文章主要介紹了微信支付如何實(shí)現(xiàn)內(nèi)置瀏覽器的H5頁面支付的相關(guān)資料,需要的朋友可以參考下2015-09-09