小程序 自定义 今日头条 nav bar 且nav-item不定宽(踩坑)

小程序 自定义 今日头条 nav bar 且nav-item不定宽(踩坑)

getDomInfo(nth) {
var that = this;
//获取所有节点的宽,作为left 递增
//注意以下选择 元素的坑, 每次点击 它会获取 最新的 left值 (而且它触发了两次)
//所以不如 干脆保存第一次的值 所有元素的宽 (累加当前点击,所有左边兄弟元素的宽,注意有没有box-sizing,它获取的width不包含padding)
//减去100 是为了它能在左边展示出来 100px
wx.createSelectorQuery().selectAll(’.my-tabs-title’).boundingClientRect(function (rects) {
if (that.data.firstRects.length == 0) {
// console.log(rects, ‘第一次rects’)
let itemleft = 0;
for (var i = 0; i < rects.length; i++) {
if (i < nth) {
itemleft +=(rects[i].width+20)
}
}
that.setData({
activeLeft: itemleft-100,
firstRects: rects //保存最初的位置
})
console.log(itemleft)
} else if (that.data.firstRects.length > 0) {
// console.log(that.data.firstRects,‘第22次rects’);
let itemleft = 0;
for (var i = 0; i < that.data.firstRects.length; i++) {
if (i <nth) {
itemleft += (that.data.firstRects[i].width+20)
}
}
that.setData({
activeLeft: itemleft-100
})
}

}).exec();

},

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值