Javascript 使Div在函数中可见时出错
以下是HTML:Javascript 使Div在函数中可见时出错,javascript,html,function,onclick,Javascript,Html,Function,Onclick,以下是HTML: <div class="div1" id ="div1" onclick="onStepClicked()" style ="text-align:center">Step 1</div> 当我第一次单击Div时,Div被隐藏,这是正确的。但是,当我再次单击它时,我将不再可见。这可能是我忽略的一个简单错误 function onStepClicked() { var elem = document.getElementById('di
<div class="div1" id ="div1" onclick="onStepClicked()" style ="text-align:center">Step 1</div>
当我第一次单击Div时,Div被隐藏,这是正确的。但是,当我再次单击它时,我将不再可见。这可能是我忽略的一个简单错误
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;
}
}
通过执行单个=
,您正在为可见赋值。您需要使用==
或==
此外,除非您需要可见
,否则您只需执行以下操作:
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
。第一个示例将值设置为可见(=是赋值运算符),第二个示例将值与可见(=是比较运算符)进行比较
对于这个小片段,您不需要额外的可见变量,但如果您在代码的其他部分需要它,您可以自由地将其添加回。我看到了两件事:
-您正在搜索div2,而您的div的id为div1
-if语句应为==或==非=
function onStepClicked() {
var elem = document.getElementById('div2');
if (elem.style.visibility === 'visible') {
elem.style.visibility = 'hidden';
}
else {
elem.style.visibility = 'visible';
}
}
function onStepClicked() {
var elem = document.getElementById('div2');
if (elem.style.visibility == 'visible')
elem.style.visibility = 'hidden';
else
elem.style.visibility = 'visible';
}