同页面中多选项卡切换显示时,由于隐藏的选项卡无法获得offsetWidth属性,导致初始隐藏的选项卡后期显示时,选项卡标签条无法根据正确的当前项滚动.
此方法属于补救措施,不修改mui.js源文件.具体事件绑定因项目架构而异,以下只作比方.
假设A, B, C, D控制4个选项卡的显/隐.每个选项卡包含N个子项.
4个选项卡分别为A_s, B_s, C_s, D_s
document.getElementById(A).addEventListener('tap', function (){
var slider_id = document.querySelector(A_s).getAttribute('data-slider');
var slider_data = mui.data[slider_id];
var progressBarWidth = slider_data.progressBarWidth;
if (!progressBarWidth) {
slider_data.progressBarWidth = document.querySelector(A_s).querySelector('.mui-slider-progress-bar').offsetWidth;
}
})
修复前:
修复后: