rich-text 不能监听是否渲染完毕吗?
发布于 4 年前 作者 szheng 2118 次浏览 来自 问答

rich-text

现在出现的问题是,无法知道富文本是否渲染完毕。直接获取节点出现偏差问题,有没有大佬知道?有望执导

问题:

1.在请求接口回调的时候,加个延迟。我测试了一下,不滑动的情况下,一切获取的都是正常的

2.根据这个代码,我一进去页面,不等一下。直接向上滑动。那么它获取的节点就错乱了。偏移很多很多

代码结构

onPageScroll:function(e){ // 获取滚动条当前位置

// console.log(e)

if(e.scrollTop>this.data.isNewTabNum&&this.data.isNewTabNum!=null){

this.setData({

isNewTab:true,

})

return

};

this.setData({

isNewTab:false

})

},


// 获取元素位置

onNewTab(){

let query = wx.createSelectorQuery().in(this);

query.select('.goods-info-box').boundingClientRect((rect) => {

this.setData({

isNewTabNum:rect.bottom

})

}).exec();

let querys = wx.createSelectorQuery().in(this);

querys.select('.buy-infos').boundingClientRect((rect) => {

console.log("rect。buy-infos",rect)


if(rect!=null){

this.setData({

isNewTabNums:rect.top-35

})

}

}).exec();

}

// 滚动

onNewIsTab(e){

let name = e.currentTarget.dataset.name

if(name=="购买须知"){

if(this.data.isNewTabNums!=null){

wx.pageScrollTo({

scrollTop: this.data.isNewTabNums,

duration: 300

});

}else{

wx.pageScrollTo({

scrollTop: this.data.isNewTabNum,

duration: 300

});

}

}else if(name=="套餐详情"){

if(this.data.isNewTabNums!=null){

wx.pageScrollTo({

scrollTop: this.data.isNewTabNumss,

duration: 300

});

}else{

wx.pageScrollTo({

scrollTop: this.data.isNewTabNum,

duration: 300

});

}

}else{

if(this.data.isNewTabNums!=null){

wx.pageScrollTo({

scrollTop: this.data.isNewTabNumsss,

duration: 300

});

}else{

wx.pageScrollTo({

scrollTop: this.data.isNewTabNum,

duration: 300

});

}

}

this.setData({

newTab:name

})

},


回到顶部