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 相关文章推荐
document.getElementById方法在Firefox与IE中的区别
May 18 Javascript
5个javascript的数字格式化函数分享
Dec 07 Javascript
表单验证的完整应用案例探讨
Mar 29 Javascript
js 获取(接收)地址栏参数值的方法
Apr 01 Javascript
jQuery中[attribute=value]选择器用法实例
Dec 31 Javascript
JavaScript jQuery 中定义数组与操作及jquery数组操作
Dec 18 Javascript
BootStrap轻松实现微信页面开发代码分享
Oct 21 Javascript
如何去除富文本中的html标签及vue、react、微信小程序中的过滤器
Nov 21 Javascript
微信小程序实现滑动切换自定义页码的方法分析
Dec 29 Javascript
微信小程序修改数组长度的问题的解决
Dec 17 Javascript
微信小程序wxs实现吸顶效果
Jan 08 Javascript
JS实现百度搜索框
Feb 25 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
PHP 第二节 数据类型之转换
2012/04/28 PHP
php+highchats生成动态统计图
2014/05/21 PHP
PHP模拟asp.net的StringBuilder类实现方法
2015/08/08 PHP
php如何实现只替换一次或N次
2015/10/29 PHP
php面向对象重点知识分享
2019/09/27 PHP
关于Laravel参数验证的一些疑与惑
2019/11/19 PHP
PHP使用Http Post请求发送Json对象数据代码解析
2020/07/16 PHP
TP5多入口设置实例讲解
2020/12/15 PHP
onpropertypchange
2006/07/01 Javascript
js下写一个事件队列操作函数
2010/07/19 Javascript
javascript中的prototype属性使用说明(函数功能扩展)
2010/08/16 Javascript
Javascript面向对象设计一 工厂模式
2011/12/20 Javascript
JS正则表达式验证数字代码
2014/01/28 Javascript
jQuery中focus事件用法实例
2014/12/26 Javascript
利用vue写todolist单页应用
2016/12/15 Javascript
jQuery中库的引用方法
2018/01/06 jQuery
在Vue中使用highCharts绘制3d饼图的方法
2018/02/08 Javascript
element-ui表格列金额显示两位小数的方法
2018/08/24 Javascript
jQuery实现模拟搜索引擎的智能提示功能简单示例
2019/01/27 jQuery
layui form.render('select', 'test2') 更新渲染的方法
2019/09/27 Javascript
Preload基础使用方法详解
2020/02/03 Javascript
在Python3中使用asyncio库进行快速数据抓取的教程
2015/04/02 Python
深入学习Python中的上下文管理器与else块
2017/08/27 Python
解决python读取几千万行的大表内存问题
2018/06/26 Python
pycharm运行和调试不显示结果的解决方法
2018/11/30 Python
解决Python3.5+OpenCV3.2读取图像的问题
2018/12/05 Python
Python多线程通信queue队列用法实例分析
2020/03/24 Python
python应用Axes3D绘图(批量梯度下降算法)
2020/03/25 Python
Flask缓存静态文件的具体方法
2020/08/02 Python
Python列表的深复制和浅复制示例详解
2021/02/12 Python
html5.2 dialog简介详解
2018/02/27 HTML / CSS
英国办公家具网站:Furniture At Work
2019/10/07 全球购物
存储过程和函数的区别
2013/05/28 面试题
水毁工程实施方案
2014/04/01 职场文书
铣床操作工岗位职责
2014/06/13 职场文书
2015年党日活动总结范文
2015/03/25 职场文书