繁体   English   中英

“开关”中的功能不起作用

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM