时间:2019-05-03 来源:小程序工厂
黄***:
你好,问题未复现。请提供一下出现问题的机型和微信版本,以及能复现问题的简单代码示例。
咖***:
视图层 代码:
首先 先是获取分类节点的位置信息 计算点击其滚动的距离 存在数组中 方便后面使用
function getMenusTabsInfo(that){
var tab_left_ = that.data.tab_left_ ? that.data.tab_left_ : [];
var isChange = that.data.isChange ? that.data.isChange : false;
if (wx.canIUse('createSelectorQuery')){
setTimeout(function(){
var query = wx.createSelectorQuery();
var tab_left_ = [];
query.select('.nav-list').boundingClientRect()
query.selectViewport().scrollOffset()
query.exec(function (res) {
if (res.length) {
nav_w = res[0].width;
query.selectAll('.nav-i').boundingClientRect(function (rect) {
if (rect.length >= 1) {
for (var i in rect) {
var tab_ = {};
tab_.left = rect[i].left;
tab_.width = rect[i].width;
tab_.scroll_left = rect[i].left > nav_w / 2 ? rect[i].left - nav_w / 2 - 13 : 0
tab_left_.push(tab_);
}
that.setData({
tab_left_: tab_left_
})
}
}).exec()
}
})
},300)
}
}
点击 分类 时根据上面获取的数据进行 scroll-left赋值
function setTabPosition(that) {//设置分类位置
var tab_left_ = that.data.tab_left_ ? that.data.tab_left_ : [];
var menus = that.data.menus;
var menus_width = win_w - 60;
var select_index = that.data.select_index ? that.data.select_index : 0;
var width_ = 0;
var scroll_view_id = 0;
if (!tab_left_.length) { return }
that.setData({
tab_scroll_left: Number(tab_left_[select_index].scroll_left)
})
}
赋值时打印 赋值是正常的
但是安卓机却 没有效果 苹果机是正常 该分类 显示在屏幕中间位置
设备信息下图
麻烦看下是哪里代码问题吗?非常感谢
三星GT-l9082i蓝牙正常API报错+微信小程序开发
咖***:
调试看了下 视图层节点赋值也是正常的
黄***:
没有数据可以渲染列表,方便的话加个微信hsc-rex定位下
咖***:
原来是 scroll-view使用了flex布局导致的,有遇到该问题的朋友可以注意下哦
@官方。。。wx.authorize(OBJECT)问题 微信小程序开发教程