相信对于前端攻城狮来说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);
}