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语句中的CDATA标签的意义
May 09 Javascript
Extjs表单常见验证小结
Mar 07 Javascript
JavaScript生成的动态下雨背景效果实现方法
Feb 25 Javascript
JS实现的竖向折叠菜单代码
Oct 21 Javascript
jQuery筛选数组之grep、each、inArray、map的用法及遍历json对象
Jun 20 Javascript
JS中作用域和变量提升(hoisting)的深入理解
Oct 31 Javascript
jQuery使用ajax方法解析返回的json数据功能示例
Jan 10 Javascript
原生JS获取元素的位置与尺寸实现方法
Oct 18 Javascript
微信小程序手机号码验证功能的实例代码
Aug 28 Javascript
electron制作仿制qq聊天界面的示例代码
Nov 26 Javascript
JS localStorage存储对象,sessionStorage存储数组对象操作示例
Feb 15 Javascript
详解vue 中 scoped 样式作用域的规则
Sep 14 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
mysql_fetch_row,mysql_fetch_array,mysql_fetch_assoc的区别
2009/04/24 PHP
php设计模式 Strategy(策略模式)
2011/06/26 PHP
PHP正确解析UTF-8字符串技巧应用
2012/11/07 PHP
smarty自定义函数用法示例
2016/05/20 PHP
PHP框架Laravel插件Pagination实现自定义分页
2020/04/22 PHP
laravel框架中表单请求类型和CSRF防护实例分析
2019/11/23 PHP
Javascript 去除数组的重复元素
2010/05/04 Javascript
JavaScript中的null和undefined解析
2012/04/14 Javascript
JavaScript中json对象和string对象之间相互转化
2012/12/26 Javascript
JavaScript对象创建及继承原理实例解剖
2013/02/28 Javascript
使用text方法获取Html元素文本信息示例
2014/09/01 Javascript
使用postMesssage()实现跨域iframe页面间的信息传递方法
2016/03/29 Javascript
基于Vue的文字跑马灯组件(npm 组件包)
2017/05/24 Javascript
关于webpack2和模块打包的新手指南(小结)
2017/08/07 Javascript
React全家桶环境搭建过程详解
2018/05/18 Javascript
详解VUE中常用的几种import(模块、文件)引入方式
2018/07/03 Javascript
微信小程序实现省市区三级地址选择
2020/06/21 Javascript
JavaScript继承的特性与实践应用深入详解
2018/12/30 Javascript
vue+elementUI实现表单和图片上传及验证功能示例
2019/05/14 Javascript
微信小程序实现电子签名功能
2020/07/29 Javascript
[01:00]DOTA2 store: Collection of Artisan's Wonders
2015/08/12 DOTA
零基础学Python(一)Python环境安装
2014/08/20 Python
Python将图片批量从png格式转换至WebP格式
2020/08/22 Python
Python编程判断一个正整数是否为素数的方法
2017/04/14 Python
Python稀疏矩阵及参数保存代码实现
2020/04/18 Python
520使用Python实现“我爱你”表白
2020/05/20 Python
Python实现封装打包自己写的代码,被python import
2020/07/12 Python
利用CSS3实现自定义滚动条代码分享
2016/08/18 HTML / CSS
美国网上眼镜商城:Zenni Optical
2016/11/20 全球购物
巴西男士个人护理产品商店:SHOP4MEN
2017/08/07 全球购物
Smilodox官方运动服装店:从运动服到健身配件
2020/08/27 全球购物
车间主任岗位职责
2015/02/03 职场文书
集结号观后感
2015/06/08 职场文书
银行服务理念口号
2015/12/25 职场文书
Mysql多层子查询示例代码(收藏夹案例)
2022/03/31 MySQL
apache虚拟主机配置的三种方式(小结)
2022/07/23 Servers