所以我的代码是这样的,我想在我的脑海中为每个按钮选择不同的参数,这很有意义,但是那样行不通,什么是正确的语法? 因为如果我单击start(Easy)按钮,它应该算作未定义,哪个应该开始第一个参数?如果未定义“普通”,则应该从第二个开始,我不知道为什么这不起作用
<button type="button" onclick="start(Easy)" id="startEasy">Lahká</button>
<button type="button" onclick="start(Normal)" id="startNormal">Stredná</button>
<button type="button" onclick="start(Hard)" id="startHard">Tážká</button>
function start(Easy, Normal, Hard) {
if (Easy === undefined) {
document.getElementById("diffi").style.display = "none";
document.getElementById("startNormal").style.display = "none";
document.getElementById("startHard").style.display = "none";
document.getElementById("startEasy").style.display = "none";
document.getElementById("hideEasy").style.display = "block";
document.getElementById("gratulujem").innerHTML = "Zadajťe hodnotu:";
document.getElementById("rules").style.display = "none";
document.getElementById("numbEasy").style.display = "inline-block";
document.getElementById("pocet").style.display = "block";
document.getElementById("odpovedEasy").style.display = "block";
document.getElementById("odpovedNormal").style.display = "block";
document.getElementById("odpovedHard").style.display = "block";
document.getElementById("numbEasy").focus();
document.getElementById("odpovedEasy").innerHTML = "Zadajte číslo 1..20";
document.getElementById("vsetko").style.maxHeight = "350px";
}
else if (Normal === undefined) {
document.getElementById("diffi").style.display = "none";
document.getElementById("startNormal").style.display = "none";
document.getElementById("startHard").style.display = "none";
document.getElementById("startEasy").style.display = "none";
document.getElementById("hideNormal").style.display = "block";
document.getElementById("gratulujem").innerHTML = "Zadajťe hodnotu:";
document.getElementById("rules").style.display = "none";
document.getElementById("numbNormal").style.display = "inline-block";
document.getElementById("pocet").style.display = "block";
document.getElementById("odpovedEasy").style.display = "block";
document.getElementById("odpovedNormal").style.display = "block";
document.getElementById("odpovedHard").style.display = "block";
document.getElementById("numbNormal").focus();
document.getElementById("odpovedNormal").innerHTML = "Zadajte číslo 1..50";
document.getElementById("vsetko").style.maxHeight = "350px";
}
else {
document.getElementById("diffi").style.display = "none";
document.getElementById("startNormal").style.display = "none";
document.getElementById("startHard").style.display = "none";
document.getElementById("startEasy").style.display = "none";
document.getElementById("hideHard").style.display = "block";
document.getElementById("gratulujem").innerHTML = "Zadajťe hodnotu:";
document.getElementById("rules").style.display = "none";
document.getElementById("numbHard").style.display = "inline-block";
document.getElementById("pocet").style.display = "block";
document.getElementById("odpovedEasy").style.display = "block";
document.getElementById("odpovedNormal").style.display = "block";
document.getElementById("odpovedHard").style.display = "block";
document.getElementById("numbHard").focus();
document.getElementById("odpovedHard").innerHTML = "Zadajte číslo 1..100";
document.getElementById("vsetko").style.maxHeight = "350px";
}
}
答案 0 :(得分:2)
这是我的解决方案:
<button type="button" onclick="Start('easy')" id="startEasy">Lahká</button>
<button type="button" onclick="Start('normal')" id="startNormal">Stredná</button>
<button type="button" onclick="Start('hard')" id="startHard">Tážká</button>
function Start(mode)
{
switch(mode)
{
case 'easy' :
// Do it easy.
break;
case 'normal' :
// Do it normal.
break;
case 'hard' :
// Do it hard.
break;
// In this case undefined and default is the same thing,
// This can be simplified just by default.
// case 'undefined' :
default :
// Do it as you want if undefined.
// Do it easy for example.
break;
}
}
答案 1 :(得分:0)
您有一个带有三个参数的function
,并且对于每个按钮,您尝试传递第一个参数的值,但是这些值是undefined
。您需要先定义这些值(为简单起见,我将在全局范围内定义这些值,但稍后您可以重构代码):
var Easy = 'Easy';
var Normal = 'Normal';
var difficult = 'Difficult';
,然后这些按钮应该起作用:
<button type="button" onclick="start(Easy)" id="startEasy">Lahká</button>
<button type="button" onclick="start(Normal)" id="startNormal">Stredná</button>
<button type="button" onclick="start(Hard)" id="startHard">Tážká</button>
我们可以简化您的function
,例如,您不需要if
或switch
,只需使用您收到的参数即可:
function start(difficulty) {
document.getElementById("diffi").style.display = "none";
document.getElementById("startNormal").style.display = "none";
document.getElementById("startHard").style.display = "none";
document.getElementById("startEasy").style.display = "none";
document.getElementById("hide" + difficulty).style.display = "block";
document.getElementById("gratulujem").innerHTML = "Zadajťe hodnotu:";
document.getElementById("rules").style.display = "none";
document.getElementById("numb" + difficulty).style.display = "inline-block";
document.getElementById("pocet").style.display = "block";
document.getElementById("odpovedEasy").style.display = "block";
document.getElementById("odpovedNormal").style.display = "block";
document.getElementById("odpovedHard").style.display = "block";
document.getElementById("numb" + difficulty).focus();
document.getElementById("odpoved" + difficulty).innerHTML = "Zadajte číslo 1..20";
document.getElementById("vsetko").style.maxHeight = "350px";
}