uni-app 滚动到指定位置的操作方法
作者:江-月*夜
这篇文章主要介绍了uni-app 滚动到指定位置的操作方法,其中方法一是使用标签,可以将页面横向(或纵向)滚动到指定位置还有其他多种方法,需要的朋友可以参考下
方法1:使用标签,可以将页面横向(或纵向)滚动到指定位置
无法滚动 将代码放在setTimeout,nextTick里执行
<!-- 左边 --> <scroll-view show-scrollbar="false" scroll-y="true" class="left-box" :scroll-top="scrollLeftTop" scroll-with-animation="true"> <view class="scroll-view-item" v-for="(item,index) in servicesLeftList" :key="item.id" :id="'scroll' + activeLeftTab" :class="{'active':activeLeftTab==item.id}"> {{item.name}} </view> </scroll-view>
data(){ return { servicesLeftList:[], scrollLeftTop:0,,//滚动位置 activeLeftTab:"" //选中的样式 } } getData() { //接口 getServicesTree().then(res => { this.servicesLeftList= res.data res.data.forEach((item, ind) => { setTimeout(()=>{ uni.createSelectorQuery().in(this).select('#scroll' + item.id) .boundingClientRect(res => { scrollLeftTop.value = 65 * ind; // 设置滚动条距离左侧的距离 }).exec() },100) }) }) }
方法二 使用uni.pageScrollTo 使页面纵向滚到到指定位置
建议设置height为auto :height:auto
<view class="left-box" > <view class="scroll-view-item" v-for="(item,index) in servicesLeftList" :key="item.id" :class="{'active':activeLeftTab==item.id}"> {{item.name}} </view> </view> //方法 uni.pageScrollTo({ scrollTop: 0, duration: 500 });
方法三 用scroll-view描点
//左边 :scroll-top="scrollLeftTop" <scroll-view scroll-y="true" class="left-box" scroll-with-animation="true" :scroll-into-view="tracingLeftPoint"> <view class="scroll-view-item" v-for="(item,index) in servicesLeftList" :key="item.id" :id="'scroll' + item.id" :class="{'active':activeLeftTab==item.id}"> {{item.name}} </view> </scroll-view> //方法 data(){ retrun { tracingLeftPoint:"",//描点id } } getData() { //接口 getServicesTree().then(res => { this.servicesLeftList= res.data res.data.forEach((item, ind) => { setTimeout(()=>{ this.tracingLeftPoint= 'scroll' + item.id },200) }) }) }
到此这篇关于uni-app 滚动到指定位置的文章就介绍到这了,更多相关uni-app 滚动到指定位置内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!