[英]Functions in “switch” doesn't work
我有下面的javascript声明。 我需要执行一些函数而不是alert(),但它不起作用......我需要包含document.getElementById(“”)。innerHTML =“”函数。 我对js不是很有经验,如果有人会解释如何做到这一点以及问题出在哪里,我将非常感激。
window.onload = function locationHashChanged() {
var hashx = location.hash;
switch (hashx) {
case '#basketball':
alert('1');
break;
case '#football':
alert('2');
break;
default:
alert('3');
}
window.onhashchange = locationHashChanged;
}
不要在window.onload
的赋值中添加函数名。
您需要指定anonymous function
,例如
window.onload = function(){
// stuff
}
这里最可能的问题是你在load事件发生后定义了window.onload
,这意味着你的处理程序没有被调用。 要么,或者其他一些代码都会覆盖你的处理程序。
你不需要等到window
的Load事件添加hashChange
事件处理程序,所以只需使用:
window.onhashchange = function() {
var hashx = location.hash;
switch (hashx) {
case '#basketball':
alert('1');
break;
case '#football':
alert('2');
break;
default:
alert('3');
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.