异步加载DOM造成的高度问题造成iScroll不能滚动
今天在使用iscroll4 做一个简单触屏滚动demo,发现上下拖动的时候总是会回弹,不能看到下面的内容.这个问题苦恼了很久,终于解决,下来就分享一下:
我的需求是这样的:
1.获取json数据append到div中去:
<div id="resultContent" class="content resultContent" style="height:280px; overflow: hidden">
<div id="showResult" class="showResult" >
</div>
</div>
<script type="text/javascript">
$("#showResult").children().remove();
var htmlContent=""; //resultSet是已经获取的数据.现在要动态添加到id为showResult的Div中
$.each(resultSet, function (index, items) {
htmlContent += '<div class="questionDiv">' +
'<table width="100%"><tr>' +
'<td width="30" style=" vertical-align:top; padding-top:9px;"><img src="data:images/selectPro/yellowPoint.png"/></td> ' +
'<td>' + items.value.question + '</td></tr>' +
'<tr><td colspan="2" style=" color:red;padding-left:7%; font-size:18px;">' + items.value.solution + '</td></tr>' +
'</table>' +
'</div>';
});
$("#showResult").append(htmlContent);
</script>
2,使该id为#showResult的div可以触屏滚动,所以我引入了iscroll4 :
<script type="text/javascript">
setTimeout(function () {
clearInterval(intervalTime);
myScroll = new iScroll('resultContent');
}, 100)
</script>
问题来了:
我这里动态添加到div中的内容不管怎么都不被iscroll所渲染,拖动效果就像橡皮筋一样,永远看不到下面隐藏的内容,如下图所示:
这个问题就是因为,你这个动态数据还没有append完成.该showResult 还没有加载完成,就开始 new iScroll("XXXX")了,这样就不行了,
解决方法:
关键点:找到这个动态添加的层什么时候加载完成,这个时间点要拿准~~~~
我的解决方法:
<script type="text/javascript">
/**
* 初始化显示结果层的高度,iScroll渲染
*/
var initScroll = function () {
intervalTime = setInterval(function () {
var resultContentH = $("#showResult").height();
if (resultContentH > 0) { //判断数据加载完成的条件
console.log("此时showResult的高度是:" + resultContentH);
$("#showResult").height(resultContentH)
setTimeout(function () {
clearInterval(intervalTime);
myScroll = new iScroll('resultContent');
}, 100)
}
}, 10);
}
</script>
我这里就用它的高度来判断是否加载完成,然后重新给定高度.这样以后再new iScroll("XXXX").就没有问题了啦~~~~
异步加载DOM造成的高度问题造成iScroll不能滚动的更多相关文章
- Android之ListView异步加载图片且仅显示可见子项中的图片
折腾了好多天,遇到 N 多让人崩溃无语的问题,不过今天终于有些收获了,这是实验的第一版,有些混乱,下一步进行改造细分,先把代码记录在这儿吧. 网上查了很多资料,发现都千篇一律,抄来抄去,很多细节和完整 ...
- 使用jOrgChart插件, 异步加载生成组织架构图
jOrgChart插件是一个用来实现组织结构图的Jquery的插件- 一.特点 1.支持拖拽修改子节点: 2.支持节点缩放展示: 3.方便修改css定义样式: 4.超轻量型: 5.兼容性好,基本支持所 ...
- 淘宝购物车页面 智能搜索框Ajax异步加载数据
如果有朋友对本篇文章的一些知识点不了解的话,可以先阅读此篇文章.在这篇文章中,我大概介绍了一下构建淘宝购物车页面需要的基础知识. 这篇文章主要探讨的是智能搜索框Ajax异步加载数据.jQuery的社区 ...
- js 鼠标滚动到某屏时,加载那一屏的数据,仿京东首页楼层异步加载模式
js用处:在做商城时,首页图片太多,严重影响首页打开速度,所以我们需要用到异步加载楼层.js名称:鼠标滚动到某屏时,加载那一屏的数据,仿京东首页楼层模式js解释:1.用于商城的楼层内容异步加载,滚动条 ...
- 深入理解JS异步编程五(脚本异步加载)
异步脚本加载 阻塞性脚本 JavaScript在浏览器中被解析和执行时具有阻塞的特性,也就是说,当JavaScript代码执行时,页面的解析.渲染以及其他资源的下载都要停下来等待脚本执行完毕 浏览器是 ...
- Javascript 异步加载详解(转)
本文总结一下浏览器在 javascript 的加载方式. 关键词:异步加载(async loading),延迟加载(lazy loading),延迟执行(lazy execution),async 属 ...
- 不得不说的JavaScript异步加载
同步加载的问题 默认的js是同步加载的,这里的“加载”可以理解成是解析.执行,而不是“下载”,在最新版本的浏览器中,浏览器对于代码请求的资源都是瀑布式的加载,而不是阻塞式的,但是js的执行总是阻塞的. ...
- 谈谈异步加载JavaScript
前言 关于JavaScript脚本加载的问题,相信大家碰到很多.主要在几个点—— 1> 同步脚本和异步脚本带来的文件加载.文件依赖及执行顺序问题 2> 同步脚本和异步脚本带来的性能优化问题 ...
- ImageLoader实现图片异步加载
ImageLoader是一个广泛使用的图片库,在向网络请求图片时,使用imageView和smartView常会产生outofmemory错误,这时ImageLoader可以起到很大的作用,主要有如下 ...
随机推荐
- Head of a Gang (map+邻接表+DFS)
One way that the police finds the head of a gang is to check people's phone calls. If there is a pho ...
- ViewData,ViewBag和TempData
ViewData ViewBag TempData 类型 字典 Dynamic TempDataDictionary 出生时间 MVC1 MVC3 框架版本 .net3.5 .net4.0 ...
- ios播放声音中断后台音乐的问题
今天遇到一个ios播放声音中断后台音乐的问题,在我的app中如果调用AVAudioSession 播放完声音,后台的qq音乐偶尔不能恢复,而网易云音乐一次都不能恢复播放,研究了一下AVAudioS ...
- Ext Grid 加载超时设置timeout: 180000
var insideGridStore = Ext.create('Ext.data.Store', { model: 'CarComponents',//这个地方CarComponents不是一个对 ...
- ios 中定时器:NSTimer, CADisplayLink, GCD
#import "ViewController.h" #import "RunloopViewController.h" @interface ViewCont ...
- Oracle和Redhat下载地址
Oracle RedHat 用户名:zhangwei900808@126.com 密码:@XxxxxXxxxxxx 有网友想要的,请在留言板给我留言,我会把用户名和密码发给你!
- integer和double的比较.
Integer douVal=20; double parseDouble = Double.parseDouble(douVal.toString()); System.out.println(pa ...
- 1043: [HAOI2008]下落的圆盘 - BZOJ
Description有n个圆盘从天而降,后面落下的可以盖住前面的.求最后形成的封闭区域的周长.看下面这副图, 所有的红色线条的总长度即为所求.Input n ri xi y1 ... rn xn y ...
- ExtJS4.2学习(七)EditorGrid可编辑表格(转)
鸣谢地址:http://www.shuyangyang.com.cn/jishuliangongfang/qianduanjishu/2013-11-14/176.html ------------- ...
- spoj 227
留着 #include <cstdio> #include <cstring> #include <cstdlib> #define lson l, m, rt & ...