MUI动态加载数据后,scrollToBottom无效的解决方案
一个类似于聊天的效果,要求数据加载完成后,滚动条必须在最后。但是,如果数据是原始数据的话,使用scrollToBottom是可以滚动到底部的。但是如果是动态数据的话,就无效了。
找了很多方法,官方QQ群里也问过了,解释的也不是很看的懂。最后没办法,只能去翻代码了。看了下scrollToBottom的方法定义中有一行是这样的:
this.scrollTo(0, this.maxScrollY, time, easing);
通过浏览器控制台获取maxScrollY的值很悲剧的为0!!!!!
而maxScrollY的获取就是在reLayout函数当中,于是乎,重新调用一下reLayout就可以更新maxScrollY了。完整的解决方案如下:
//页面加载后,初始化滚动条
var scroll = mui('.mui-scroll-wrapper').scroll();
//获取列表数据
$.post(apiURL, {}, function(data) {
//插入列表
insertDomByData(data); //重新计算布局值,最大滚动的高度等等
scroll.reLayout(); //滚动到底部
scroll.scrollToBottom(100);
});

“ MUI动态加载数据后,scrollToBottom无效的解决方案” 的相关文章
/** * 分页函数 * @param int $total 总页数 * @param int $pagesize 每页几条 &n...
<?php // 为php和mysql剔除不安全html代码。 //http://blog.ddian.cn function safestrip($string){ $string = strip_tags(...
最 近在做一个手机端的webapp地图应用,而核心内容当然是定位了,但是定位的话有几种方式,IP定位,GPS定位,基站定位(这个貌似webapp用不 了), 那么剩下核心的gps定位和ip定位了,我们知道,html5有定位API,但是该API拿到的GPS数据是硬件坐标,无法直接显示在地图上。...
在开发过程中,我们经常需要将二维数组转为一维数组,个人总结了2种方法,分享给大家如何将下面的二维数组转为一维数组。复制代码 代码如下:$msg = array( array( 'id'=>'45', 'name'=>'...
如何在不同编程语言中获取现在的Unix时间戳(Unix timestamp)?先上代码进行java时间转换成unix timestampimport java.text.DateFormat; import java.text.ParseExceptio...
之所以要用到Json,很多时候是因为使用ajax对象时,程序与JS函数之间的数据交互。因为JS不认识PHP中的数组,PHP也不认识JS中的数组或对象。Json很好的解决了这个问题。Json简介  ...