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 相关文章推荐
js格式化时间和js格式化时间戳示例
Feb 10 Javascript
对JavaScript客户端应用编程的一些建议
Jun 24 Javascript
有关json_decode乱码及NULL的问题
Oct 13 Javascript
javascript基于prototype实现类似OOP继承的方法
Dec 16 Javascript
浅析location.href跨窗口调用函数
Nov 22 Javascript
详解Javascript数据类型的转换规则
Dec 12 Javascript
实现点击下箭头变上箭头来回切换的两种方法【推荐】
Dec 14 Javascript
Angular.js中控制器之间的传值详解
Apr 24 Javascript
Node.js中,在cmd界面,进入退出Node.js运行环境的方法
May 12 Javascript
从零开始用electron手撸一个截屏工具的示例代码
Oct 10 Javascript
基于JS实现一个随机生成验证码功能
May 29 Javascript
微信小程序常用的3种提示弹窗实现详解
Sep 19 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
星际争霸任务指南——神族
2020/03/04 星际争霸
用PHP生成excel文件到指定目录
2015/06/22 PHP
php验证码生成代码
2015/11/11 PHP
PHP缓存工具XCache安装与使用方法详解
2018/04/09 PHP
jquery 设置元素相对于另一个元素的top值(实例代码)
2013/11/06 Javascript
用json方式实现在 js 中建立一个map
2014/05/02 Javascript
jQuery判断元素是否存在的可靠方法
2014/05/06 Javascript
用js闭包的方法实现多点标注冒泡示例
2014/05/29 Javascript
JQuery中绑定事件(bind())和移除事件(unbind())
2015/02/27 Javascript
JQuery+Ajax实现数据查询、排序和分页功能
2015/09/27 Javascript
jquery验证邮箱格式是否正确实例讲解
2015/11/16 Javascript
基于JQuery及AJAX实现名人名言随机生成器
2017/02/10 Javascript
jQuery倒计时代码(超简单)
2017/02/27 Javascript
详解使用angular-cli发布i18n多国语言Angular应用
2017/05/20 Javascript
使用vue-router设置每个页面的title方法
2018/02/11 Javascript
微信小程序实现之手势锁功能实例代码
2018/07/19 Javascript
[33:19]完美世界DOTA2联赛PWL S2 PXG vs InkIce 第一场 11.26
2020/11/30 DOTA
在Django的视图中使用数据库查询的方法
2015/07/16 Python
Python selenium 父子、兄弟、相邻节点定位方式详解
2016/09/15 Python
让Django支持Sql Server作后端数据库的方法
2018/05/29 Python
使用pytorch进行图像的顺序读取方法
2018/07/27 Python
python导入模块交叉引用的方法
2019/01/19 Python
python中yield的用法详解——最简单,最清晰的解释
2019/04/04 Python
pycharm运行程序时看不到任何结果显示的解决
2020/02/21 Python
如何使用python代码操作git代码
2020/02/29 Python
基于django2.2连oracle11g解决版本冲突的问题
2020/07/02 Python
Python Pandas list列表数据列拆分成多行的方法实现
2020/12/14 Python
python爬虫scrapy框架之增量式爬虫的示例代码
2021/02/26 Python
波兰最大的儿童服装连锁店之一:5.10.15.
2018/02/11 全球购物
WEB控件可以激发服务端事件,请谈谈服务端事件是怎么发生并解释其原理?自动传回是什么?为什么要使用自动传回?
2012/02/21 面试题
计算机专业毕业生推荐信
2013/11/25 职场文书
经典公益广告词
2014/03/13 职场文书
四年级小学生评语
2014/12/26 职场文书
python用字节处理文件实例讲解
2021/04/13 Python
抖音动画片,皮皮虾,《治愈系》动画在用这首REMIX作为背景音乐,Anak ,The last world with you完整版
2022/03/16 杂记
Python时间操作之pytz模块使用详解
2022/06/14 Python