在微信小程式中,使用 scroll-view 實現長頁面的標記跳轉,官方文檔中沒有例子演示,錨點標記主要是使用<scroll-view> 的 scroll-into-view 屬性。 實現錨點跳轉主要以下幾點: 1、最外層容器使用 scroll-view 2、賦值scroll-into-view,如 ...
在微信小程式中,使用 scroll-view 實現長頁面的標記跳轉,官方文檔中沒有例子演示,錨點標記主要是使用<scroll-view> 的 scroll-into-view 屬性。
實現錨點跳轉主要以下幾點:
1、最外層容器使用 scroll-view
2、賦值scroll-into-view,如:<scroll-view scroll-into-view="{{toView}}">
3、設置 scroll-view 滾動方向 scroll-y="true"
4、跳轉到的位置使用 id (定位),如:<view id="mark1">
.wxml代碼
<view class="list"> <view bindtap='jumpTo' data-opt="list0">list0</view> <view bindtap='jumpTo' data-opt="list11">list11</view> <view bindtap='jumpTo' data-opt="list29">list29</view> </view> <scroll-view scroll-into-view="{{toView}}" scroll-y="true" scroll-with-animation="true" class="scr"> <view wx:for="{{list}}" id="{{item}}" class="test"> {{item}} </view> </scroll-view>
.wxss代碼
.scr{ position: relative; height: 500rpx } .test{ height: 80rpx; } .list{ position: fixed; z-index: 9; top:30rpx; right: 10rpx; }
.js代碼
data: { list: ["list0", "list1", "list2", "list3", "list4", "list5", "list11", "list12", "list13", "list14", "list15", "list25", "list26", "list27", "list28", "list29","list30"], toView: '' }, jumpTo: function (e) { // 獲取標簽元素上自定義的 data-opt 屬性的值 let target = e.currentTarget.dataset.opt; this.setData({ toView: target }) },
小程式錨點跳轉和HTML錨點跳轉類似
ps: 如果使用 html 實現錨點跳轉,只需要使用 <a href="#id名"> 就能很方便的跳轉到改元素的位置,id名就是對應要跳轉的位置!