小程序无法获取元素的宽高,位置信息,只能通过后台计算,但是存在较大的机器误差,不知有啥好的解决方案?git地址:https://github.com/Panfen/lumm
如图所以,左侧是菜单栏,右侧是主体内容,点击左侧菜单,右侧滑动到相应的位置;右侧滑动过程,也会改变左侧菜单的选中状态。本人的实现方案:
所有元素大小单位用rpx;
通过scrollbind(e) 的 e.detail.scrollHeight获取右侧滑动区域的总高度(单位px)
通过物品高度和标题高度的比值,计算出各自的实际高度(单位px)
通过修改scrollTop(单位px)改变主体内容位置
这样还是存在1px-100px的误差,物品越多,后面的累计误差会越大,有没有更好的解决办法呢?
测试了一下,的确用scroll-view的scroll-to-view特性可以解决:
wxml中修改:
js文件中修改:
page data中增加:
然后把下面函数修改一下:
selectMenuAct: function (e) {
},
测试环境下通过。