博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
一个实用的JS自定义函数addLoadEvent()
阅读量:6595 次
发布时间:2019-06-24

本文共 1233 字,大约阅读时间需要 4 分钟。

在给网页加一些特效时经常要在<body>中加入“onload”事件,即在网页加载完后执行某事件,例如:<body οnlοad=”alert(‘欢迎光临!’)”,但这样做有个大的缺陷,事件会在网页完全下载完后才会执行,包括网页中的图片或Flash等,如果网页中的图片比较大或有很多图,可能还没等网页完全下载完网友已经点击链接到其它网页去了,这样这个事件就没有执行了。另外在某些特殊情况下可能还修改不了网页的body参数。如在别人网站发表文章时,或用CMS整站系统时。   这时我们会想到用“window.onload”或“document.body.onload”来替换<body>中的onload事件,的确,问题解决了,但在加载多个onload事件时或控制加裁顺序时还会出现一些问题,直到我发现“Paul Koch”写的addLoadEvent()函数后,所有问题都解决了。如果大家一定要用“window.onload”或 “document.body.onload”来替换<body>中的onload事件,建议大家用前者,Firefox浏览器中无效,即兼容性有问题。

JavaScript代码

function addLoadEvent(func) {

var oldonload = window.onload;

 if (typeof window.onload != 'function') {

     window.onload = func;

 } else {

     window.onload = function() {

      if (oldonload) {   

      oldonload();     

  }   

    func();    

}

 }

}

 

//调用方法:

 addLoadEvent(页面加裁函数名);

//或

addLoadEvent(function() {

 //更多页面加裁代码

});   

推荐大家以后都用addLoadEvent()函数来替换<body>中加入“onload”事件。addLoadEvent ()自定义代码来源于:

# function addLoadEvent(func) {  

#     var oldonload = window.onload;  

#     if (typeof window.onload != 'function') {  

#         window.onload = func;  

#     } else {  

#         window.onload = function() {  

#             if (oldonload) {  

#      oldonload();  

#             }  

#             func();  

#         }  

#     }  

# }  

# addLoadEvent(function() {  

#     document.body.style.backgroundColor = 'yellow';  

# })  

转载于:https://www.cnblogs.com/mingjixiaohui/p/5246329.html

你可能感兴趣的文章
window对象的常用方法/弹窗/计时器
查看>>
「一本通 1.1 例 4」加工生产调度
查看>>
暑假作战第一天
查看>>
java同步机制
查看>>
CSS 设定 checkbox,radio样式
查看>>
Qt 5.7 > QML
查看>>
.NET本质论 实例
查看>>
java 中字符串比较equals()和equalsIgnoreCase()的区别
查看>>
实现效果从中间变大
查看>>
outlook邮件中样式问题
查看>>
09 变量重游
查看>>
php curl 跨域情趣
查看>>
iOS多线程之1.从Thread看多线程的生命周期
查看>>
编写前端统计网页流量,来源,停留时间等
查看>>
9、JPA_映射双向一对一的关联关系
查看>>
dos切换其他目录加参数/D
查看>>
POI设置excel某列值为文本格式
查看>>
matlab 绘制圆锥螺旋线
查看>>
命令模式
查看>>
HDU 2647:Reward(拓扑排序+队列)
查看>>