小程序點擊列表時當前元素滾動到頂部


要實現效果:一個y軸縱向列表,點擊列表的元素時,讓滾動條滾動,該元素定位到頂部

本來要實現這個其實是很簡單,但由於是小程序里的,都是邊摸索邊做,所以走了很多彎路,一直試圖用scroll-view的scroll-to-view屬性來實現,結果試了一直不行,

那么換個思路,小程序api里有這個屬性

wx.pageScrollTo(OBJECT)

點擊某元素時觸發頁面的滾動不就好了

把事件綁定在循環出來的列表元素上

頁面

<view wx:if="{{List.length!=0}}" wx:for="{{List}}" wx:key="item" wx:for-index="index" bindtap="toggle" data-index="{{index}}">
{{item.name}}
</view >

js 打印出e發現e.currentTarget.offsetTop就是該元素的縱向偏移量,所以當點擊這個元素的時候,該元素就會滾動到頂部

toggle(e){
    console.log(e)
    // 控制滾動
    wx.pageScrollTo({
      scrollTop: e.currentTarget.offsetTop,
      duration: 300
    })
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM