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判断变量初始化的三种形式及推荐用的形式
Jul 22 Javascript
深入理解JavaScript系列(46):代码复用模式(推荐篇)详解
Mar 04 Javascript
jquery实现树形菜单完整代码
Dec 29 Javascript
jQuery获取attr()与prop()属性值的方法及区别介绍
Jul 06 Javascript
基于JavaScript实现本地图片预览
Feb 08 Javascript
jQuery zTree 异步加载添加子节点重复问题
Nov 29 jQuery
JavaScript实现求最大公共子串的方法
Feb 03 Javascript
vue props传值失败 输出undefined的解决方法
Sep 11 Javascript
详解微信小程序与内嵌网页交互实现支付功能
Oct 22 Javascript
解决vue 单文件组件中样式加载问题
Apr 24 Javascript
详解JWT token心得与使用实例
Aug 02 Javascript
Typescript类型系统FLOW静态检查基本规范
May 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
AM/FM收音机的安装与调试
2021/03/02 无线电
利用PHP如何实现Socket服务器
2015/09/23 PHP
解析WordPress中控制用户登陆和判断用户登陆的PHP函数
2016/03/01 PHP
php使用FFmpeg接口获取视频的播放时长、码率、缩略图以及创建时间
2016/11/07 PHP
php过滤输入操作之htmlentities与htmlspecialchars用法分析
2017/02/17 PHP
jquery事件机制扩展插件 jquery鼠标右键事件
2011/12/21 Javascript
一个可以增加和删除行的table并可编辑表格中内容
2014/06/16 Javascript
基于Jquery+Ajax+Json实现分页显示附效果图
2014/07/30 Javascript
javascript将url中的参数加密解密代码
2014/11/17 Javascript
javascript稀疏数组(sparse array)和密集数组用法分析
2016/12/28 Javascript
LayerClose弹窗关闭刷新方法
2018/08/17 Javascript
vue3.0 CLI - 2.5 - 了解组件的三维
2018/09/14 Javascript
vue跳转方式(打开新页面)及传参操作示例
2020/01/26 Javascript
JavaScript隐式类型转换代码实例
2020/05/29 Javascript
python重试装饰器示例
2014/02/11 Python
Python中最常用的操作列表的几种方法归纳
2015/04/24 Python
Python本地与全局命名空间用法实例
2015/06/16 Python
Python读取视频的两种方法(imageio和cv2)
2018/04/15 Python
点球小游戏python脚本
2018/05/22 Python
Python实现基于PIL和tesseract的验证码识别功能示例
2018/07/11 Python
一看就懂得Python的math模块
2018/10/21 Python
python 返回列表中某个值的索引方法
2018/11/07 Python
Linux CentOS Python开发环境搭建教程
2018/11/28 Python
python实现抖音点赞功能
2019/04/07 Python
python 控制Asterisk AMI接口外呼电话的例子
2019/08/08 Python
pytorch:torch.mm()和torch.matmul()的使用
2019/12/27 Python
Pytorch的mean和std调查实例
2020/01/02 Python
Matplotlib scatter绘制散点图的方法实现
2020/01/02 Python
pyinstaller将含有多个py文件的python程序做成exe
2020/04/29 Python
keras.utils.to_categorical和one hot格式解析
2020/07/02 Python
python中numpy.empty()函数实例讲解
2021/02/05 Python
Europcar德国:全球汽车租赁领域的领导者
2018/08/15 全球购物
2015年幼儿园安全工作总结
2015/05/12 职场文书
安全伴我行主题班会
2015/08/13 职场文书
《雷雨》教学反思
2016/02/20 职场文书
Vue中使用import进行路由懒加载的原理分析
2022/04/01 Vue.js