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 中文字符串处理额外注意事项
Nov 15 Javascript
前淘宝前端开发工程师阿当的PPT中有JS技术理念问题
Jan 15 Javascript
纯JavaScript实现的完美渐变弹出层效果代码
Apr 02 Javascript
html+css+js实现xp window界面及有关功能
Mar 26 Javascript
关于JavaScript对象的动态选择及遍历对象
Mar 10 Javascript
JQuery动画与特效实例分析
Feb 02 Javascript
详解JavaScript中双等号引起的隐性类型转换
May 30 Javascript
微信小程序 less文件编译成wxss文件实现办法
Dec 05 Javascript
jQuery开源组件BootstrapValidator使用详解
Jun 29 jQuery
js中如何完美的解析数据
Mar 18 Javascript
详解Webpack-dev-server的proxy用法
Sep 08 Javascript
jQuery实现带3D切割效果的轮播图功能示例【附源码下载】
Apr 04 jQuery
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
使用Linux五年积累的一些经验技巧
2013/06/20 PHP
浅析PHP程序设计中的MVC编程思想
2014/07/28 PHP
php中Socket创建与监听实现方法
2015/01/05 PHP
php实现图片局部打马赛克的方法
2015/02/11 PHP
PHP实现的简单排列组合算法应用示例
2017/06/20 PHP
阿里云的WindowsServer2016上部署php+apache
2018/07/17 PHP
优化innerHTML操作(提高代码执行效率)
2011/08/20 Javascript
40款非常棒的jQuery 插件和制作教程(系列一)
2011/10/26 Javascript
node.js学习总结之调式代码的方法
2014/06/25 Javascript
JS、CSS以及img对DOMContentLoaded事件的影响
2014/08/12 Javascript
使用postMesssage()实现iframe跨域页面间的信息传递
2016/03/29 Javascript
纯js和css完成贪吃蛇小游戏demo
2016/09/01 Javascript
Bootstrap在线电子商务网站实战项目5
2016/10/14 Javascript
JS扩展类,克隆对象与混合类实例分析
2016/11/26 Javascript
浅谈Node.js:Buffer模块
2016/12/05 Javascript
解决Vue 通过下表修改数组,页面不渲染的问题
2018/03/08 Javascript
vue实现自定义多选与单选的答题功能
2018/07/05 Javascript
在JavaScript中使用严格模式(Strict Mode)
2019/06/13 Javascript
layui radio单选限制下一个radio单选的实例
2019/09/03 Javascript
[02:02]DOTA2英雄基础教程 斯拉达
2013/12/11 DOTA
Python中遇到的小问题及解决方法汇总
2017/01/11 Python
Python中装饰器高级用法详解
2017/12/25 Python
python3+PyQt5实现支持多线程的页面索引器应用程序
2018/04/20 Python
Python基础学习之基本数据结构详解【数字、字符串、列表、元组、集合、字典】
2019/06/18 Python
对PyQt5的输入对话框使用(QInputDialog)详解
2019/06/25 Python
Python3内置模块之base64编解码方法详解
2019/07/13 Python
python 元组的使用方法
2020/06/09 Python
paramiko使用tail实时获取服务器的日志输出详解
2020/12/06 Python
python 模块导入问题汇总
2021/02/01 Python
RealTek面试题
2016/06/28 面试题
酒鬼酒广告词
2014/03/21 职场文书
售后客服工作职责
2014/06/16 职场文书
门卫岗位职责
2015/02/09 职场文书
《鲁班学艺》读后感3篇
2019/11/27 职场文书
Python Pandas读取Excel日期数据的异常处理方法
2022/02/28 Python
清空 Oracle 安装记录并重新安装
2022/04/26 Oracle