引言
前端在工作中,时不时会碰到锚点的需求,即要求点击某个元素之后,跳转到另一处或者滚动条移动到指定位置
web端
控制滚动条
document.body.scrollTop = 750
上述即标识滚动条会移动到距离顶部750px的地方
跳转到指定元素
document.getElementById("divId").scrollIntoView()
还可以使用a标签和window.location.hash,但是会造成URL更新导致页面刷新,不建议使用
uniapp的移动端
操作滚动条
this.$nextTick(function(){
setTimeout(()=>{
uni.pageScrollTo({
scrollTop: 2000000,
duration : 0
})
},50)
})
但是这种方法一定要放在nextTick中触发,设置延时函数
跳转到指定元素
this.$nextTick(() => {
setTimeout(() => {
uni.createSelectorQuery().select("#tour").boundingClientRect(function(res) {
//定位到你要的class的位置
uni.pageScrollTo({
scrollTop: res.top,
duration: 0
});
}).exec()
}, 50)
})
uniapp基于小程序的技术,而小程序官方文档中是没有window对象的,而document是window的一个属性,,
因此使用uniapp的节点选择器