Javascript函数顺序
Javascript function order
我有一个JS问题。我对web开发相当陌生,所以我不完全确定我的JS做错了什么。
//create script for #mainHeading focus @ pageload -- heading 1
window.onload = function() {
var mainHeading = document.getElementById("mainHeading");
mainHeading.style.textShadow = '0px 0px 0px #fff'
}
//create script for #subHeading focus @ pageload -- heading 2
window.onload = function() {
var subHeading = document.getElementById("subHeading");
subHeading.style.textShadow = '0px 0px 0px #fff'
}
所以基本上我为我的第一个标题写了这个函数,当页面加载时"焦点"。然后我决定用相同的功能添加第二个标题。现在当我加载页面时,只加载第二个标题,而不是两个标题。
为什么??
因为您覆盖了第一个函数。不要这样设置属性…使用addEventListener
或等价的代替:
window.addEventListener("load", function () {
// First event handler
});
window.addEventListener("load", function () {
// Second event handler
});
此方法允许您根据需要注册尽可能多的事件处理程序。请注意,旧版本的IE浏览器不支持它,所以你可能需要对它进行特征检测,并在那些旧版本的IE浏览器中使用attachEvent
。
当前,您只是设置属性的值。考虑下面的代码,它们实际上是等价的:
var obj = {};
obj.x = 10;
obj.x = 20;
console.log(obj.x); // 20
您正在替换onload
函数
正确的解决方案是使用addEventListener
添加一个事件侦听器,它们是可添加的:
window.addEventListener('load', function1);
window.addEventListener('load', function2);
无需替换onload函数,只需向其添加指令即可。不错的老式风格,因此跨浏览器兼容:
window.onload = function() {
var mainHeading = document.getElementById("mainHeading"),
subHeading = document.getElementById("subHeading");
mainHeading.style.textShadow = '0px 0px 0px #fff';
subHeading.style.textShadow = '0px 0px 0px #fff';
}
祝你好运!
您正在重写第二个的方法。你需要把它们合并在一起:
window.onload = function() {
var mainHeading = document.getElementById("mainHeading"),
subHeading = document.getElementById("subHeading");
mainHeading.style.textShadow = subHeading.style.textShadow =
'0px 0px 0px #fff';
};
你也可以做其他答案所做的。这看起来也不错。
相关文章:
- javascript函数和代码隐藏函数的执行顺序
- 使函数按顺序运行[Node JS]
- AngularJS:如何按照预定义的顺序执行函数
- 按顺序执行导入的 Javascript 函数
- $http.post() angularjs 响应函数未按正确的顺序执行
- 如何按顺序执行 jQuery 函数
- 来自函数 Javascript 的 NaN 返回值 ||函数执行顺序
- 如何按顺序调用延迟函数
- 使用promise或setTimeout确定延迟函数的调用顺序
- 使用Node中的Q promise库对值数组顺序调用/执行相同的函数;并返回带有结果的新数组/集合
- 我如何向这个脚本添加一个点击按钮循环URL函数(按给定顺序在URL之间切换),或者这可能吗
- JS中jQuery函数的过程顺序
- 如何按顺序记录多个函数的返回
- 调用加载的顺序函数会意外中断代码
- JQuery 顺序函数调用
- 顺序函数调用
- 顺序函数调用
- javascript中的顺序函数调用
- 顺序函数调用的执行上下文-这将更改为窗口
- 顺序函数调用,而其中一个使用setTimeout