欢迎您光临深圳塔灯网络科技有限公司!
电话图标 余先生:13699882642

网站百科

为您解码网站建设的点点滴滴

微信小程序 锚点的实现 计算高度法

发表日期:2019-10 文章编辑:小灯 浏览次数:2485

背景

最近在开发小程序的时候,遇到一个在页面上做锚点的需求

查阅了一下,小程序的锚点和浏览器中html的锚点是不一样的,所以不能用 a 标签加 #锚点 来实现

scroll-view实现

通常,在小程序中,可以用scroll-view标签的scroll-into-view属性进行跳转,这是网上常见的方法,具体方法,就不详细说了,可以参考这篇文章 微信小程序-锚点定位

但是scroll-view实现的锚点有一些缺点:

计算高度实现

这个方法的基本思路是:计算出锚点相对于页面的高度,使用wx.pageScrollTo滚动到锚点位置

具体方法如下:

首先,计算出锚点元素相对于当前可视区域的高度,即元素和小程序title的距离,文档 wx.createSelectorQueryfields

wx.createSelectorQuery().select('#anchor').fields({
    rect: true
}, function (res) {
    a = res.top
}

然后,计算出当前页面滚动的高度,即html中的scrollTop,即页面元素顶部距离小程序title的距离,文档 scrollOffset

wx.createSelectorQuery().selectViewport().scrollOffset(function(res){
    b = res.scrollTop
})

最后,使用wx.pageScrollTo滚动到锚点位置,文档 wx.pageScrollTo

wx.pageScrollTo({
    scrollTop: a + b
});

本页内容由塔灯网络科技有限公司通过网络收集编辑所得,所有资料仅供用户学习参考,本站不拥有所有权,如您认为本网页中由涉嫌抄袭的内容,请及时与我们联系,并提供相关证据,工作人员会在5工作日内联系您,一经查实,本站立刻删除侵权内容。本文链接:https://www.dengtar.com/23735.html
相关小程序
    SQL执行错误,请检查