uniapp获取节点滚动位置
<view class="ratio">
<view v-for="(item , index) in commonList" :key="index" class="select_node">
//内容随意
</view>
</view>
data() {
return {
commonList:[{
commonRatio:'0',
referrer:'' ,
person:'',
}],
}
},
methods(){
createScrollTo(){
uni.createSelectorQuery()
.in(this)
.select(".ratio")// 外层节点
.boundingClientRect((data) => {
uni.createSelectorQuery()
.in(this)
.selectAll('.select_node') //所有目标节点 select只能获取一个,selectAll可以获取所有
.boundingClientRect((res) => {
const resLength = res.length - 1 //最后一个
uni.pageScrollTo({
scrollTop: res[resLength].top - data.top,//元素距离顶部的距离减去最外层盒子的滚动距离
});
}).exec();
}).exec();
}
}
动态点击实现滚动效果, 也可实现多个节点点击
.selectAll(‘.select_node’) 动态传入即可 ,必须是节点名
例如createScrollTo(name){
.selectAll(name)
}