【发布时间】:2019-03-23 16:38:34
【问题描述】:
我正在尝试根据所选标题更改我的标题和横幅背景。
function display() {
var gameSelected = ["game_dota2","game_clashroyale","game_csgo","game_fortnite","game_pubg",];
var mmgame = document.getElementById(gameSelected);
switch (mmgame){
case "Dota 2":
var mmgame2 = "Dota 2";
break;
case "Clash Royale":
var mmgame2 = "Clash Royale";
break;
}
这是如何根据 onclick 事件获取选择的游戏的想法。
我是初学者,不确定这是否是处理它的最佳方法,如果您有更好的建议,请告诉我。
现在下一个问题是找出将工作 var 实现到另一个 switch 语句的最佳方法,然后使用 .innerHTML 和 .src 将新标题和新 BG 图像推送到站点顶部
switch (mmgame2){
case "Dota 2":
var element = document.getElementById("wht");
element.innerHTML = mmgame2;
document.getElementById("whbg").src = dota2_bg;
break;
case "Clash Royale":
var element = document.getElementById("wht");
element.innerHTML = mmgame2;
document.getElementById("whbg").src = clashroyale_bg;
break;
case "CS:GO":
var element = document.getElementById("wht");
element.innerHTML = mmgame2;
document.getElementById("whbg").src = csgo_bg;
break;
case "Fortnite":
var element = document.getElementById("wht");
element.innerHTML = mmgame;
document.getElementById("whbg").src = fornite_bg;
break;
case "PUB:G":
var element = document.getElementById("wht");
element.innerHTML = mmgame;
document.getElementById("whbg").src = pubg_bg;
break;
default:
var element = document.getElementById("wht");
element.innerHTML = "Your Game Is Not Ready Now";
break;
}
}
谢谢!
【问题讨论】:
-
仅供参考,正确的语法是
break;,而不是brake; -
你点击的是什么元素?
-
当你点击一个元素时,事件监听器接收一个
Event对象作为参数。您可以使用event.target获取被点击的元素,使用event.target.id获取其ID。然后,您可以使用switch(event.target.id)根据他们点击的内容执行不同的操作。 -
document.getElementById(gameSelected)没有意义。参数必须是特定 ID,而不是 ID 数组。您可以使用allGames = gameSelected.map(id => document.getElementById(id))创建一个元素数组 -
@Barmar 我正在尝试单击包含以下内容的 div:
Dota 2
标签: javascript html arrays switch-statement