关于数据异步加载引起Iscroll.js布局出错的解决方案

Posted homehtml

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于数据异步加载引起Iscroll.js布局出错的解决方案相关的知识,希望对你有一定的参考价值。

相信对于前端攻城狮来说Iscroll.js,大家并不陌生,lite版本只有24kb。但可以解决

1、position:fixed在ios端的兼容性问题

>移动端viewport可以理解为一个放大镜,滑动页面就相当于在移动这个放大镜,页面的位置并没有变。
>position:fixed将元素固定在页面某一位置,那么在滑动页面时这个元素的位置也不需要变,至少IOS之前是这么做的。

2、各浏览器对滚动条样式渲染不统一的问题
3、实现下拉刷新
4、局部滚动。
当然iscroll还可以做轮播图,放大镜等效果。

今天要说的就是用iscroll实现局部滚动出现页面布局的问题。
技术图片

问题:页面底部多出一部分或是页面显示不全,拉动回弹后内容又显示不全。
原因:数据异步加载,iscroll无法正确获取页面元素的真实高度。
解决方法:在页面请求完数据后刷新iscroll。

//自定义方法:请求成功切换页面后刷新Iscroll解决异步加载数据布局出错
view: function($this, viewData) { 
    this._super($this, viewData);
    mobile.page.iscroll("#" + mobile.page.getCurrPage().attr("id") + " .hospitalIntroduceIscroll.pageIscroll").refresh();
}

function Refresh() {
    setTimeout(function () {
        myScroll.refresh();
    }, 1000);
}

以上是关于关于数据异步加载引起Iscroll.js布局出错的解决方案的主要内容,如果未能解决你的问题,请参考以下文章

iscroll.js 如何禁用左右边界的反弹

iscroll.js上拉下拉刷新时无法回弹问题怎么解决办法

由于异步 JSON 加载,Vue.js 错误 [渲染根实例时出错]

从firebase异步加载图像时出错

iScroll.js 使用心得

setContentView()给当前Activity加载布局出错