这是HTML:
<div class="div1" id ="div1" onclick="onStepClicked()" style ="text-align:center">Step 1</div>
这是脚本:
function onStepClicked() {
var elem = document.getElementById('div2');
if (Visible = true) {
elem.style.visibility = 'hidden';
Visible = false;
}
if (Visible = false) {
elem.style.visibility = 'visible';
Visible = true;
}
}
当我第一次点击Div时,Div被隐藏,这是正确的。然而,当我再次点击它时,我再也不会被看到了。这可能是一个我忽略的简单错误。
答案 0 :(得分:2)
function onStepClicked() {
var elem = document.getElementById('div2');
if (Visible === true) {
elem.style.visibility = 'hidden';
Visible = false;
} else if (Visible === false) {
elem.style.visibility = 'visible';
Visible = true;
}
}
您通过执行单个Visible
为=
分配值。您需要使用===
或==
此外,除非您在其他地方需要Visible
,否则您可以这样做:
function onStepClicked() {
var elem = document.getElementById('div2');
if (elem.style.visibility === 'visible') {
elem.style.visibility = 'hidden';
}
else {
elem.style.visibility = 'visible';
}
}
答案 1 :(得分:1)
function onStepClicked() {
var elem = document.getElementById('div2');
if (elem.style.visibility == 'visible')
elem.style.visibility = 'hidden';
else
elem.style.visibility = 'visible';
}
您的错误是在第一个if语句中设置Visible 等于true 。差异为Visible = true
与Visible == true
。第一个示例将值设置为Visible(=是赋值运算符),第二个示例将值与Visible(==是比较运算符)进行比较。
对于这个小片段,您不需要额外的Visible变量,但如果您需要在代码的其他部分使用它,则可以将其重新添加回来。
答案 2 :(得分:0)
我看到了几件事: - 当你的div的id为div1时,你正在搜索div2 - if语句应为==或=== not =