javascript我的函数赢了';第二次它不工作';s咔嗒一声
嘿,伙计们,我对JavaScript还比较陌生,需要一些帮助。我尝试了一些不同的方法,但我似乎无法理解。我的命令功能有问题。函数的第一部分将我的类从“keyboard”或“keyboard_normal”更改为“keyboardCmd”。我希望第二部分根据我在h3标记中写的内容将类改回“keyboard”或“keyboard_normal”。我把第二部分放在另一个函数中,我称之为回归,并给它一个pressed参数,因为我计划以后重用它 该类更改为“keyboardCmd”很好,但当我再次单击span时,它不会更改为“keyboard”或“keyboard\u normal”。我尝试将registe()中的代码放入commandhold()中,而不是registe函数,但是类从“keyboardCmd”更改为“keyboard\u normal”或“keyboard”时没有成功 “onclick”位于我的cmdLeft和cmdRight跨距上。为了安全起见,我还尝试了我的cmdLeft\u悬停和cmdRight\u悬停跨距,但这也没用 我在一个临时网站上发布了我目前拥有的内容。我希望这有帮助。 这是我的HTML:javascript我的函数赢了';第二次它不工作';s咔嗒一声,javascript,html,Javascript,Html,嘿,伙计们,我对JavaScript还比较陌生,需要一些帮助。我尝试了一些不同的方法,但我似乎无法理解。我的命令功能有问题。函数的第一部分将我的类从“keyboard”或“keyboard_normal”更改为“keyboardCmd”。我希望第二部分根据我在h3标记中写的内容将类改回“keyboard”或“keyboard_normal”。我把第二部分放在另一个函数中,我称之为回归,并给它一个pressed参数,因为我计划以后重用它 该类更改为“keyboardCmd”很好,但当我再次单击sp
<body>
<h3 id = "changeH3Text" onClick="changeNameToLetters()">Regular Keyboard on Hover</h3>
<div id="keyboardContainer" class="keyboard">
<div class = "row6">
<span id="cmdLeft" onClick="commandHeld()">
<span class="hover" id="cmdLeft_hover"></span>
</span>
<span id="cmdRight" onClick="commandHeld()">
<span class="hover" id="cmdRight_hover"></span>
</span>
</div><!--end of row 6 div-->
</div><!--end of keyboardContainer div-->
</body>
一个小小的探视者发现:
commandhold
)回归
函数(keyboardstate!=keyboardstate)中也有输入错误function changeNameToLetters() {
//keyboard container variables
var keyboardState = document.getElementById("keyboardContainer");
var currentClass = keyboardState.className;
//h3 text variables
var h3Text = document.getElementById("changeH3Text");
var currentText = h3Text.innerHTML;
if (currentClass == "keyboard_normal" && currentText == "Tool Name on Hover") {
keyboardState.className = "keyboard";
h3Text.innerHTML = "Regular Keyboard on Hover";
} //end if
else {
keyboardState.className = "keyboard_normal";
h3Text.innerHTML = "Tool Name on Hover";
} //end else
} //End function
function commandHeld() {
//keyboard container variables
var keyboardState = document.getElementById("keyboardContainer");
var currentClass = keyboardState.className;
//h3 text variables
var h3Text = document.getElementById("changeH3Text");
var currentText = h3Text.innerHTML;
if (currentClass == "keyboard_normal" || currentClass == "keyboard") {
keyboardState.className = "keyboardCmd";
} //End if
else {
regress('keyboardCmd');
}
} //End function
function regress(pressed) {
//keyboard container variables
var keyboardState = document.getElementById("keyboardContainer");
var currentClass = keyboardState.className;
//h3 text variables
var h3Text = document.getElementById("changeH3Text");
var currentText = h3Text.innerHTML;
if (currentText == "Tool Name on Hover" && currentClass == pressed) {
keyboardState.className = "keyboard_normal";
} //End if
else {
keyboardState.className = "keyboard";
}
} //End Function
是您的朋友:)我试着穿上它,但仍然无法理解您试图归档的内容。您能提供您的代码的JSFIDLE版本吗?如果(currentClass==“keyboard_normal”| |“keyboard”),则此行中可能存在不正确的情况;还想知道你是否真的没有使用这些注释,我试着把它放在JSFIDLE上,但结果不是很好@BangDao在一个临时网站上发布了我到目前为止所拥有的内容,我希望它能帮助@Vishal,我并没有实际使用这些评论。在我发布后,我注意到我使用了/*而不是我喜欢键盘的想法,顺便说一下:)非常感谢你的回答!现在效果很好:)我试着把它改成那样,但没有改变任何东西,所以我把它改了回去,我没有意识到它是无效的。我将尝试更有效地使用chrome中的调试器。非常感谢Zathrus。
function changeNameToLetters() {
//keyboard container variables
var keyboardState = document.getElementById("keyboardContainer");
var currentClass = keyboardState.className;
//h3 text variables
var h3Text = document.getElementById("changeH3Text");
var currentText = h3Text.innerHTML;
if (currentClass == "keyboard_normal" && currentText == "Tool Name on Hover") {
keyboardState.className = "keyboard";
h3Text.innerHTML = "Regular Keyboard on Hover";
} //end if
else {
keyboardState.className = "keyboard_normal";
h3Text.innerHTML = "Tool Name on Hover";
} //end else
} //End function
function commandHeld() {
//keyboard container variables
var keyboardState = document.getElementById("keyboardContainer");
var currentClass = keyboardState.className;
//h3 text variables
var h3Text = document.getElementById("changeH3Text");
var currentText = h3Text.innerHTML;
if (currentClass == "keyboard_normal" || currentClass == "keyboard") {
keyboardState.className = "keyboardCmd";
} //End if
else {
regress('keyboardCmd');
}
} //End function
function regress(pressed) {
//keyboard container variables
var keyboardState = document.getElementById("keyboardContainer");
var currentClass = keyboardState.className;
//h3 text variables
var h3Text = document.getElementById("changeH3Text");
var currentText = h3Text.innerHTML;
if (currentText == "Tool Name on Hover" && currentClass == pressed) {
keyboardState.className = "keyboard_normal";
} //End if
else {
keyboardState.className = "keyboard";
}
} //End Function