昨天用jQuery插件aeImageResize,发现它更有优势:每张图片加载完后,会马上进行等比缩放。 这归于图片对象Image的加载事件onload的功劳。 查看插件的源码,发现它也依赖图片对象的complete属性和onload事件,并且特别把IE6区分对待,到底IE6在图片加载对象上,与其它浏览器有什么不同呢? 看下文: 通过js操纵DOM很多情况下都是为了实现和当前页html元素的异步载入,我谈谈对Image对象的一些认识。 看个例子: 代码如下: funct...
代码如下: iframe的onload在Chrome/Opera中执行两次 var ifr = document.createElement('iframe'); ifr.onload = function(){alert(1);}; document.body.insertBefore(ifr,document.body.childNodes[0]); ifr.src = 'http://www.baidu.com'; 解决方法很简单,改下代码顺序即可:创建iframe, 添加到body中,最后添加load事件。所有浏览器下将表现一致。 代码如下: var ifr = document.createElement('iframe'); docume...
看个例子: 代码如下: function addImg(isrc) { var Img = new Image(); Img.src = isrc; Img.onload = function () { document.body.appendChild(Img); } } // 当包含上述代码的页面打开时并不载入 “tt.jpg” ,当点击按钮时候才载入。当载入完成后触发onload事件显示到页面上。如果你是第一次加载 “tt.jpg" 这张图片的话,运行正常。点击按钮加载并显示一张图片,如果重复点击会怎么样呢? IE、Opera中,除了第一次加载 图...
如下 代码如下: IE9/10同时支持script元素的onload和onreadystatechange事件 结果: IE6/7/8 : 弹出2 IE9/10 : 弹出2,1 Firefox/Safari/Chrome/Opera : 弹出1 测试结果可以看出,IE9后已经开始支持script的onload事件了。一直以来我们判断js文件是否已经加载完成就是用以上的两个事件。很久以前就知道IE中使用onreadystatechange事件,事件handler中使用readyState的值判断是否加载完成。其它浏览器使用onload事件。 ...
1,onload事件 代码如下: Link Element onload IE6/7 :IE8/9 :Opera : 即IE6/7/8/9/Opera都支持onload事件, Firefox/Safari/Chrome不支持。 注:用JS创建link标签再添加到head中,情况如上。2,onreadystatechange事件 代码如下: Link Element onreadystatechange IE6/7/8/9中弹出了两次,其它浏览器均没有弹。说明只有IE支持link元素的onreadystatechange事件。弹出两次分别是readyState为loading,comple...
代码如下: $(function(){//脚本}) Jquery(function(){//脚本}) Jquery(document).ready(function(){//脚本}) 以上三个代码执行同一个动作,由于书写方便,所以Jquery比其他应用程序更受欢迎,但是当与其他js程序库一起使用的时候,特别是prototype.js同时使用时,不能使用$方法,因为他们也有该方法,可以用如下方法回避这种冲突: jQuery(function($){//脚本}) 他们都是当Dom加载完后执行的操作,所以放在html的任何位置都可以,...
示例 代码如下: 仅img元素创建后却不添加到文档中会执行onload事件 var img = document.createElement('img'); img.src = "http://www.sinaimg.cn/rny/sinamail57/skins/110318/17/logo.jpg"; img.onload = function(){alert(this.width);}; iframe,script必须添加到文档中后才执行回调。JavaScript教程/参考手册 JavaScript热搜 Vue利用canvas实现移动端手写板的方法vue2.0 移动端实现下拉刷新和上拉加载更...
并且随页面大小的不同情况时好时坏,甚至代码位置的不同而不同。 火狐下一切正常。 解决办法是再onload触发前改变图片src的值,也就是相当于图片开始时有个临时的占位图片,页面载入过程中用js换成实际需要的src,只要每次onload事件触发前src发生变化,则onload表现正常。
代码如下: $("#load img").load(function() { //图片默认隐藏 $(this).hide(); //使用fadeIn特效 $(this).fadeIn("5000"); }) 第一次打开一个页面时,让加载好的图片先隐藏,然后再执行动画fadeIn。 这里的load事件:当所有子元素已经被完全加载完成时,load事件被发送到这个元素。
在前几个项目的开发中 遇到onload使用的几种情形1. 可以在Body 里面执行 2. 先定义好 在页面加载完成后使用 代码如下: function test(){ var aa = "嘻嘻,你个大猪猪"; alert(aa); } window.onload = test; 注解: 这里的window.onload = test; 不要在test后面加() 因为这是在给事件关联触发的方法 如果加() 会立刻引发这个方法的执行(这可能不是我们的本意) 3. 使用匿名函数 window.onload = function(){alert(321);} 4. JS中on...
在需要对img进行onload事件绑定的时候,一般大家都会想到用常规的方法进行事件绑定,如下: 代码如下: img onload事件绑定(错误用法) window.onload = function(){ var img = document.getElementById('imgId'); img.onload = function(){ alert(1); }; }; 此时大家会发现alert(1)并没有执行,这是什么原因呢?特别是在ie和ff浏览器下。 而且在用到jquery插件库的时候会发现,alert除了在ie和Opera浏览器不弹出来外...
window 的 onload、onresize、onscroll 事件,跟其他的事件不一样,它不能用 attachEvent 或 addEventListener 来添加。也就是说,它只能这样来(以 onload 为例,下同): 代码如下: window.onload = function() { // ... }; 但这有个问题,就是想再为 onload 增加新的事件处理程序时,不能直接为 window.onload 赋值了,否则前面的赋值就会被覆盖了。 可这样做: 代码如下: var oldLoadHandler = window.onload; window.onloa...
js的onload实现: 代码如下: "http://www.w3.org/TR/html4/loose.dtd"> js的onload方法的使用 window.onload=function(){ var myLinks = document.getElementsByTagName("a"); for(var i=0 ; imyLinks[i].onclick=function(){ alert("链接了"); } } } js的onload方法的使用 链接1 链接2 链接3 链接4 链接5 链接6 jquery的ready方法的实现: 代码如下: "http://www.w3.org/TR/html4/loose.dtd"> ready方法的使用2 $...
代码如下: /* 1、obj相当于window 2、type相当于onload 3、fn相当于匿名函数 */ function addEvent( obj,type,fn ){ var saved = null; // 用户保存上一个事件 if( typeof obj[ "on" + type ] == "function" ){ saved = obj[ "on" + type ]; // 用户保存上一个事件 }; // 执行事件 obj[ "on" + type ] = function(){ if( saved ){ saved() }; fn(); }; }; addEvent( window,"load",function(){ alert( "我是尜尜1" ); }); addEven...
页面加载完成有两种事件,一是ready,表示文档结构已经加载完成(不包含图片等非文字媒体文件),二是onload,指示页 面包含图片等文件在内的所有元素都加载完成。(可以说:ready 在onload 前加载!!!) 一般样式控制的,比如图片大小控制放在onload 里面加载; jS事件触发的方法,可以在ready 里面加载; 用jQ的人很多人都是这么开始写脚本的: 通常的写法 代码如下: $(function(){ // do something }); 其实这个就是jq ready()的...