jQuery mobile在页面加载时添加加载中效果 document.ready 和window.onload执行顺序比较


Posted in Javascript onJuly 14, 2016

想要添加这个效果,先来弄明白页面的加载和事件执行顺序,看这个简单例子:

<html xmlns="http://www.w3.org/1999/xhtml">
<head >
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>验证加载顺序</title>
<script src="../Scripts/jquery-1.7.1.js"></script>
<link href="../Scripts/Mobile/jquery.mobile-1.4.0.min.css" rel="stylesheet" />
<script src="../Scripts/Mobile/jquery.mobile-1.4.0.min.js"></script>
<script>
alert("DOM还没加载"); 
window.onload = function () { 
alert('onload,图片加载完'); 
}
$(document).ready(function () {
alert('ready,dom加载完'); 
}) 
</script>
</head>
<body >
<form id="form1" runat="server"> 
<img src="http://images.aviary.com/imagesv5/feather_default.jpg" />
<img src="http://car0.autoimg.cn/car/upload/2015/1/8/v_20150108092921264345010.jpg" />
</form>
</body>
</html>

执行结果:9行>14行>11行,9行代码放置的上下位置不同,结果依然是一样的。弄明白上面的顺序之后,如果想让页面在加载之前显示jquery mobile的加载器,然后等页面数据请求执行完,图片等多媒体加载完之后,再关闭加载器的话,就可以按照以下思路来解决:

<html xmlns="http://www.w3.org/1999/xhtml">
<head >
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>验证加载顺序</title>
<script src="../Scripts/jquery-1.7.1.js"></script>
<link href="../Scripts/Mobile/jquery.mobile-1.4.0.min.css" rel="stylesheet" />
<script src="../Scripts/Mobile/jquery.mobile-1.4.0.min.js"></script>
<script>
setTimeout('showLoader()', 100);//这里要延迟一下,直接调用无法显示加载器
//显示加载器.for jQuery Mobile 1.2.0 
function showLoader() {
$.mobile.loading('show', {
text: '正在登陆...', //加载器中显示的文字 
textVisible: true, //是否显示文字 
theme: 'a', //加载器主题样式a-e 
textonly: false, //是否只显示文字 
html: "" //要显示的html内容,如图片等 
});
}
//隐藏加载器.for jQuery Mobile 1.2.0 
function hideLoader() {
$.mobile.loading('hide');
}
window.onload = function () { 
hideLoader();
//setTimeout('hideLoader()', 5000);//延迟5秒,模拟图片和多媒体加载耗时
}
$(document).ready(function () { 
//setTimeout('hideLoader()', 5000);//延迟5秒,模拟页面请求数据耗时,ajax异步请求等放在这里
})
</script>
</head>
<body >
<form id="form1" runat="server"> 
<img src="http://images.aviary.com/imagesv5/feather_default.jpg" />
<img src="http://car0.autoimg.cn/car/upload/2015/1/8/v_20150108092921264345010.jpg" />
</form>
</body>
</html>

说明:

1)9行的代码要稍作延迟执行,否则有可能上面引用的js文件还没有加载完,这时候调用showLoader方法,是无法正确执行,就不能显示加载器

2)关闭加载器可以放在document.ready或者window.onload中,具体看页面的执行情况需要。

3)如果网速足够快,两个图片瞬间加载完成,有可能看不到明显的加载器显示和关闭的过程。

以上所述是小编给大家介绍的jQuery mobile在页面加载时添加加载中效果 document.ready 和window.onload执行顺序比较 ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
javascript实现的listview效果
Apr 28 Javascript
extjs关于treePanel+chekBox全部选中以及清空选中问题探讨
Apr 02 Javascript
用console.table()调试javascript
Sep 04 Javascript
如何用javascript计算文本框还能输入多少个字符
Jul 29 Javascript
深入理解逻辑表达式的用法 与或非的用法
Jun 06 Javascript
微信小程序 共用变量值的实现
Jul 12 Javascript
一文让你彻底搞清楚javascript中的require、import与export
Sep 24 Javascript
JavaScript复制内容到剪贴板的两种常用方法
Feb 27 Javascript
jQuery实现常见的隐藏与展示列表效果示例
Jun 04 jQuery
小程序新版订阅消息模板消息
Dec 31 Javascript
vue vant中picker组件的使用
Nov 03 Javascript
为什么JavaScript中0.1 + 0.2 != 0.3
Dec 03 Javascript
javascript运算符语法全面概述
Jul 14 #Javascript
jQuery实现下拉框多选 jquery-multiselect 的实例代码
Jul 14 #Javascript
浅谈addEventListener和attachEvent的区别
Jul 14 #Javascript
ui组件之input多选下拉实现方法(带有搜索功能)
Jul 14 #Javascript
全面了解addEventListener和on的区别
Jul 14 #Javascript
js计算系统当前日期是星期几的方法
Jul 14 #Javascript
原生javascript 学习之js变量全面了解
Jul 14 #Javascript
You might like
第五节 克隆 [5]
2006/10/09 PHP
php iconv() : Detected an illegal character in input string
2010/12/05 PHP
PHP设置进度条的方法
2015/07/08 PHP
PHP封装的字符串加密解密函数
2015/12/18 PHP
yii分页组件用法实例分析
2015/12/28 PHP
CodeIgniter钩子用法实例详解
2016/01/20 PHP
javascript 图片上一张下一张链接效果代码
2010/03/12 Javascript
使用ExtJS技术实现的拖动树结点
2010/08/05 Javascript
ASP中Sub和Function的区别说明
2020/08/30 Javascript
屏蔽script注入小例子
2013/11/12 Javascript
详解参数传递四种形式
2015/07/21 Javascript
jQuery绑定自定义事件的魔法升级版
2016/06/30 Javascript
微信小程序 教程之wxapp视图容器 swiper
2016/10/19 Javascript
一篇文章搞定JavaScript类型转换(面试常见)
2017/01/21 Javascript
微信小程序 跳转传参数与传对象详解及实例代码
2017/03/14 Javascript
微信小程序图片选择、上传到服务器、预览(PHP)实现实例
2017/05/11 Javascript
input输入框内容实时监测(附代码)
2017/08/15 Javascript
JavaScript判断变量名是否存在数组中的实例
2017/12/28 Javascript
vue-router之nuxt动态路由设置的两种方法小结
2018/09/26 Javascript
详解Vue 数据更新了但页面没有更新的 7 种情况汇总及延伸总结
2020/05/28 Javascript
[49:27]2018DOTA2亚洲邀请赛 4.4 淘汰赛 TNC vs VG 第一场
2018/04/05 DOTA
Python中Django框架下的staticfiles使用简介
2015/05/30 Python
Python基础教程之正则表达式基本语法以及re模块
2016/03/25 Python
python判断字符串或者集合是否为空的实例
2019/01/23 Python
python 实现图像快速替换某种颜色
2020/06/04 Python
Python命名空间及作用域原理实例解析
2020/08/12 Python
Python 整行读取文本方法并去掉readlines换行\n操作
2020/09/03 Python
一个基于canvas的移动端图片编辑器的实现
2020/10/28 HTML / CSS
韩国女装NO.1网店:STYLENANDA
2016/09/16 全球购物
what is the difference between ext2 and ext3
2013/11/03 面试题
外贸销售员求职的自我评价
2013/11/23 职场文书
外语学院毕业生的自我鉴定
2013/11/28 职场文书
校园文化建设方案
2014/02/03 职场文书
教师专业自荐书范文
2014/02/10 职场文书
水利水电建筑施工应届生求职信
2014/07/04 职场文书
英语教师个人总结
2015/02/09 职场文书