页面加载完成有两种事件,一是ready,表示文档结构已经加载完成(不包含图片等非文字媒体文件),二是onload,指示页 面包含图片等文件在内的所有元素都加载完成。(可以说:ready 在onload 前加载!!!)
我的理解: 一般样式控制的,比如图片大小控制放在onload 里面加载;
而:jS事件触发的方法,可以在ready 里面加载;
用jQ的人很多人都是这么开始写脚本的:
$(function(){
// do something
});
其实这个就是jq ready()的简写,他等价于:
$(document).ready(function(){
//do something
})
//或者下面这个方法,jQuer的默认参数是:“document”;
$().ready(function(){
//do something
})
-----------------------------------------------------------------------------------------------------------------------------------------------
$(document).Ready()方法 VS OnLoad事件 VS $(window).load()方法
接触JQuery一般最先学到的是何时启动事件。在曾经很长一段时间里,在页面载入后引发的事件都被加载 在”Body”的Onload事件里.
对于Body的Onload事件和JQuery的Ready方法相比,有很多弊端.比如:
1.加载 多个函数的问题
<body onload="a();b();">
</body>
在Onload事件中 只能这样加载,很丑陋…而在JQuery中你可以利用多个JQuery.Ready()方法,它们会按次序依次执行
2.代码和内容不分离
这个貌似不用说了,让人深恶痛绝-.-!!
3.执行先后顺序不同
对于Body.Onload事件,是在加载完所有页面内容才会触发,我的意思是所有内容,包括图片,flash等.如果页面的这些内容很多会让用户等待很 长时间.
而对于$(document).ready()方法,这个方法只是在页面所有的DOM加载完毕后就会触发,无疑很大的加快了网页的速度.
但是对于一些特殊应用,比如图片的放大缩小,图片的剪裁。需要网页所有的内容加载完毕后才执行的呢?我推荐使用$(window).load()方法,这 个方法会等到页面所有内容加载完毕后才会触发,并且同时又没有OnLoad事件的弊端.
<script type="text/javascript">
$(window).load(function() {
alert("hello");
});
$(window).load(function() {
alert("hello again");
});
</script>
上面的代码会在页面所有内容加载完成后按先后顺序依次执行.
当然不要忘了与之对应的Unload方法
$(window).unload(function() {
alert("good bye");
});
上面代码会在页面关闭时引发.
在 所有DOM加载之前引发JS代码
这个方法是我在调试的时候最喜欢的,有时候开发的时候也用这种方法
<body>
<script type="text/javascript">
(function() {
alert("hi");
})(jQuery)
</script>
</body>
对, 就是利用js闭包的形式将js代码嵌入body,这段代码会自动执行,当然也可以直接嵌入js代码,这种方式要注意顺序问题,如下:
<body>
<div id="test">this is the content</div>
<script type="text/javascript">
alert($("#test").html());//I Can display the content
</script>
</body>
<body>
<script type="text/javascript">
alert($("#test").html());//I Can't display the content
</script>
<div id="test">this is the content</div>
</body>
上面两段代码, 第二段代码当中因为只能解释到当前代码之前的DOM,而test并不存在于已经解析的DOM数.所以第二段代码无法正确显示.
相关推荐
上文中的代码,展示了变量声明和函数定义的先后顺序对执行结果的影响。变量需要先声明后使用,而函数则可被提升至代码块的顶部。 此外,`document.write()`在不同浏览器中的表现可能略有差异。如示例中在Firefox和...
换句话说,JavaScript代码将按照`<script>`标签出现的先后顺序被执行。 **示例代码**: ```html alert("顶部脚本"); alert("头部脚本"); <title></title> alert("页面脚本"); alert(...
无阻塞加载 把js放在head里,浏览器是怎么去执行它的呢,是按顺序加载还是并行加载呢?在旧的浏览器下,都是按照先后顺序来加载的,这就保证了加载的js依赖不会发生问题。...javascript加载是不会影响已经渲染的页
7.4.html 检测onkeydown事件与onkeypress事件执行的先后顺序。 7.5.html 窗口离开时提示。 7.6.html 防止onresize事件重复执行。 7.7.html onerror事件相关处理。 7.8.html onsubmit事件使用...
本文将深入探讨如何解决JavaScript异步执行不按顺序的问题。 在案例分析中,我们看到一个懒加载的例子,涉及到onscroll事件触发的多个Ajax回调。由于Ajax请求是异步的,它们的返回顺序与触发顺序不一定相同,因此在...
最后,`WedActivity`可能是一个用于展示网页内容的Activity,可以使用WebView组件加载指定的URL,通过JavaScript与Android交互,实现更丰富的功能。 总的来说,通过Volley进行网络请求,FastJson解析JSON数据,结合...
下面将详细介绍如何使用JavaScript编写代码,以确保链接必须按先后顺序点击。 首先,我们可以为每个链接添加唯一的ID,以便于在JavaScript中进行区分和操作。假设我们有两个链接,一个名为`link1`,另一个名为`link...
在JavaScript和HTML的交互中,理解它们的执行顺序是至关重要的。这涉及到浏览器解析网页时的渲染流程,以及JavaScript如何与HTML元素进行交互。本文将深入探讨这些知识点。 首先,我们要明白HTML文档的加载过程。当...
这种机制确保了事件的有序处理,即使在短时间内有大量事件发生时,也能按照事件发生的先后顺序进行处理。 #### 五、事件与DOM模型 在DOM(Document Object Model)模型中,不仅仅是传统的HTML元素如按钮、链接、...
使用head.js,可以将代码逻辑集中于脚本加载完成后的回调函数中,而不需要关心加载的先后顺序。 在实际应用中,开发者应该根据具体场景和浏览器兼容性选择合适的方法。比如,如果是在老旧的浏览器中,可能需要依赖...
在微信小程序的开发中,有时候我们需要确保某些操作按顺序执行,以保持逻辑的正确性。本文将探讨两种在微信小程序中实现同步执行的方法:回调函数和async/await。 1. 回调函数执行: 在早期的JavaScript编程中,回...
Ajax(Asynchronous JavaScript and XML)是一种在无需重新加载整个页面的情况下,能与服务器交换数据并更新部分网页的技术。因为Ajax请求是异步执行的,所以它们的返回顺序并不是按照发出请求的顺序来决定的。 在...
【标签】"javascript Explained js类库 类的编写与应用,构造与析构函数,函数的重载,类的继承,函数覆盖,基类与派生类的构造函数、析构函数先后调用顺序" 在JavaScript中,虽然它不是一种传统的面向对象语言,但...
5. 页面元素加载顺序:了解页面元素加载的先后顺序,帮助优化资源加载策略。 6. 缓存利用率:检查浏览器缓存的效果,优化缓存策略以减少重复请求。 通过这些数据,开发者可以针对性地优化网页,提高加载速度,提升...
Performance: 测试defer和aysnc异步加载资源的区别,defer: 按照先后顺序加载;aysnc:加载先后和顺序无关 MemoryLeak: 内存泄露实践测试 NewOperateSteps: JS种new操作的实现步骤 ImageCompress: 前端图片压缩传给...
时间轴是一种可视化工具,它以线性方式呈现一系列事件或阶段,通常用于讲述历史、项目进度或者任何有先后顺序的信息。在Web开发中,通过JavaScript和CSS可以创建动态且互动的时间轴效果,jQuery则为实现这些效果提供...
然后,对“标准”格式的X3D文件进行拆分,将标签和内容按先后顺序依次存人数组。最后,利用一个辅助栈进行变换,将数组内的内容转换为JSON字符串。 3. X3D文件转换为JSON的方法 该方法的实现步骤如下: (1)将X3...
本文将详细探讨如何配置FreeSWITCH来支持jssip,这是一个在浏览器中利用JavaScript实现SIP协议的库,能够支持音视频通话。它通常用于Web应用程序中,实现浏览器到浏览器或者服务器到浏览器的音视频通讯。 首先需要...