解决两个window.onload冲突问题
当一个HTML中同时存在两个window.onload,js会执行后一个。
将window.onload看作变量,就很好理解为什么会执行最后一个,因为后声明的会把前面的覆盖。
所以解决思路为:将前一个window.onload内的函数存储起来,放到最后一个中执行。
window.onload = function() {
... // 第一个window.onload中的函数
}
var variable; // 定义一个变量
if (typeof window.onload == 'function') { // 判断window.onload是否为函数
variable = window.onload; // 存入变量中
}
window.onload = function() { // 到了第二个window.onload
if (variable) {
variable() // 判断variable是否存在,是则执行
}
... // 这里放入第二个函数
}
上一篇:初识闭包:在for循环中的应用
下一篇:通过CSS改变图片颜色