window.onload中失效的问题

在页面中,我们有时候想让页面加载的时候有多个JS事件,一般的时候我们会这样做

window.onload=function(){

alert("aaa");

}

window.onload=function(){

alert("bbb");

}

运行结果并不是我们想要的那样,一下子弹出 aaa,然后弹出bbb

而只会弹出bbb,好像是后面的覆盖了前面的JS代码

如何实现我们的两个想要的结果呢

window.onload=function(){

a();

b();

}

function a(){

alert("aaa");

}

functiion b(){

alert("bbb")

}

这样的话会依次的弹出我们想要的结果,原理大家也应该看出来了,这个就是在加载函数中写入两个函数,用加载函数来调用这些函数。

对于上面的这种方法完全可以解决编程中的问题,但有时候我们在遇到很大的页面的时候,这种方法写起来不是很舒服,而习惯于用jQuery的方法$(document).ready(function(){}),如下

$(document).ready(function(){

alert("aaa");

alert("bbb");

})

运行这段代码,大家一定可以得到想要的结果。aaa,bbb,是不是感觉很简单,jQuery最大的作用就是简化JS,当然这段代码我们还可以再简化如下

$(function(){

alert("aaa");

alert("bbb");

})

运行结果还是很上面一样的。

大家估计也都看到了,window.onload=function(){}和$(function(){})可以火环,但是这个两个函数的执行时间不同的,前者就是页面所有的元素加载完毕后执行,而后者是遍历了所有的DOM节点加载后再执行,相比较而言后者比较‘快’;

切记后者的$符号是代表jQuery,所以必须引入jQuery的库。

有时候我们用原生的JS中也会出现$符号,但是他们代表的意义是不同的

function $(id){

obj=document.getElementById(id)

return obj;

}

docuement.getElementById("uname").value可简写$(‘uname‘).value

切记两者的$不一样,所有我们在遇到的时候一定要重新声明

例如我重新声明jQuery中的$,$在jQuery库中本身代表jQuery,希望别把你混淆。

var $$=jQuery;

$$(function(){

alert("aaa");

alert("bbb")

})

时间: 2024-12-16 01:09:00

window.onload中失效的问题的相关文章

window.onload中动态获得img的高度

$(function(){}); window.onload=function(){} $(function(){}) 是在DOM结构渲染完成以后调用的,这时候网页中一些资源还没有加载,比如图片等资源,但是DOM结构已经渲染成功了 window.onload是在网页DOM结构渲染完成,而且资源已经加载成功以后调用的. 当我们在$(function(){})调用$('img').width()的时候,由于图片还没有加载,所以这时候<img>标签的高度就是0,所以返回值就是0.但是当你用windo

jquery中的$(document).ready()、JavaScript中的window.onload()以及body中的onload()的区别

  body中的onload()和window.onload以及$(document).ready()的区别: 1.前两者都表示当页面加载元素(包括图片等信息)完毕后执行的操作,而且两者在各种浏览器中都兼容,而$(document).ready()表示的是JQuery中的一个方法因而只有在支持jQuery的浏览器中才适用,同时该方法是在当页面的dom节点加载完毕后就执行,无需等待页面中的图片等加载完成. 2.当代码中同时存在body中的onload()和window.onload()要注意的 :

jquery mobile在页面加载时添加加载中效果 document.ready 和window.onload执行顺序比较

想要添加这个效果,先来弄明白页面的加载和事件执行顺序,看这个简单例子: 1 <html xmlns="http://www.w3.org/1999/xhtml"> 2 <head > 3 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 4 <title>验证加载顺序</title> 5 <s

Jquery中$(document).ready() 和 JavaScript中的window.onload方法 比较

Jquery中$(document).ready()的作用类似于传统JavaScript中的window.onload方法,不过与window.onload方法还是有区别的. 1.执行时间 window.onload必须等到页面内包括图片的所有元素加载完毕后才能执行. $(document).ready()是DOM结构绘制完毕后就执行,不必等到加载完毕. 2.编写个数不同 window.onload不能同时编写多个,如果有多个window.onload方法,只会执行一个(最后一个)       

jQuery中$(document).ready()和window.onload的区别

 $(document) ready()和window onload在表面上看都是页面加载时我们就去执行一个函数或动作,但是在具体的细节上$(document) ready()和window onload还是有区别的. 最基本的区别 1.执行时间 window.onload必须等到页面内包括图片.flash等的所有元素加载完毕后才能执行.$(document).ready()是DOM结构绘制完毕后就执行,不必等到加载完毕. 如<p>图片视频等</p>(假设页面只有这一个标签),wi

jquery中$(document).ready(function(){//todo});window.onload时间线关系

1.基于DOM的解析加载过程,即:document.readystate状态, 其有如下四个状态: a.uninitiated,未初始化状态. b.loading,dom开始解析. c.loaded,dom解析完成.document.ready触发,然后再加载其他东西(图片.延迟加载的js代码等). d.complete,所需要的图片 异步js等也加载完成,整个页面不在请求数据. 2.例子如下: document.onreadystatechange = function(){ if(docum

JavaScript中window.onload的使用方法

JavaScript中window.onload的使用介绍 window.onload加载事件在页面内容加载完成之后立即执行相应的函数. window.onload使用方法: 1)window.onload=function(){    var tr=obj.parentNode.parentNode;    tr.parentNode.removeChild(tr);   }2)function func(){     var tr=obj.parentNode.parentNode;   

js中window.onload 与 jquery中$(document.ready()) 测试

js中window.onload 与 jquery中$(document.ready())区别,验证代码如下(调换js代码和Jquer代码书写顺序测试,运行结果一样,因此与代码书写位置没关系): <html> <head> <script type='text/javascript' src='jquery-1.11.1.min.js'></script> <script type='text/javascript'> $(document).r

window.onload和JQuery中$(function(){})的区别即其实现原理

一.区别 window.onload是在DOM树加载完成之后(DOM树加载完不代表全部资源加载完,例如图片,音频和视频等还没加载)执行的. 在Jquery中$(function(){ })和$(document).ready(function(){ })的效果是一样,是在DOM树加载完成之后就会执行.所以$(document).ready(function(){ })是比window.onload要先执行的.那么JQuery中$(document).ready(function(){ })用原生