【发布时间】:2015-09-14 10:15:27
【问题描述】:
这个问题太具体了,我不确定任何搜索都能找到类似的答案,所以我在问,好像这是一个新问题。
预期行为:
- 单击按钮“mySol”使 div 我的解决方案可见
- 单击“YASS”按钮使 div 我的解决方案隐藏并且 div YASS 解决方案可见
- 单击“Tak”按钮使 div YASS 解决方案隐藏并且 div Takaken 解决方案可见
这可以按预期工作,仅在您第一次单击所有三个按钮之后。第一次通过执行以下操作(可通过刷新页面重复):
单击按钮“mySol”使 div 我的解决方案可见 单击按钮“YASS”使 div 我的解决方案可见并使 div YASS 解决方案可见 单击按钮“Tak”使 div 我的解决方案和 YASS 解决方案可见,并使 div Takaken 解决方案可见 单击按钮“mySol”使 divs YASS 解决方案和 Takaken 解决方案可见,并使 div 我的解决方案隐藏 单击按钮“YASS”使 div Takaken 解决方案可见并隐藏 div YASS 解决方案 单击按钮“Tak”使 div Takaken 解决方案隐藏
这些可以按任何顺序完成,结果相同。再次隐藏最后一个 div 后,该功能正常工作,一次可见一个 div。我不明白是什么导致了这个问题,需要一些帮助来纠正它。
感谢任何帮助。
代码如下:
function visInvis(id) {
var a = document.getElementById('mySol');
var b = document.getElementById('YASS');
var c = document.getElementById('Tak');
var e = document.getElementById(id);
if(e == a && e.style.display == 'none') {
b.style.display = 'none';
c.style.display = 'none';
}
if(e == b && e.style.display == 'none') {
a.style.display = 'none';
c.style.display = 'none';
}
if(e == c && e.style.display == 'none') {
a.style.display = 'none';
b.style.display = 'none';
}
if(e.style.display == 'block')
e.style.display = 'none';
else
e.style.display = 'block';
}
#mySol { display: none; }
#YASS { display: none; }
#Tak { display: none; }
<!DOCTYPE HTML>
<HTML>
<HEAD>
<TITLE>Sample Solution Page</TITLE>
</HEAD>
<BODY>
<TABLE align="left" valign="top" width="16%">
<TR><TH align="left" colspan="2">Puzzle Name</TH></TR>
<TR><TD>Width:</TD><TH width="50%">0</TH></TR>
<TR><TD>Height:</TD><TH width="50%">0</TH></TR>
<TR><TD>Boxes/Goals:</TD><TH width="50%">0</TH></TR>
<TR><TD colspan="2"><INPUT type="button" style="font-weight: bold;" onClick="visInvis('mySol');" value="My Solution"></TD></TR>
<TR><TD>Moves/Pushes:</TD><TH width="50%">0/0</TH></TR>
<TR><TD colspan="2"><INPUT type="button" style="font-weight: bold;" onClick="visInvis('YASS');" value="YASS Solution"></TD></TR>
<TR><TD>Moves/Pushes:</TD><TH width="50%">0/0</TH></TR>
<TR><TD colspan="2"><INPUT type="button" style="font-weight: bold;" onClick="visInvis('Tak');" value="Takaken Solution"></TD></TR>
<TR><TD>Moves/Pushes:</TD><TH width="50%">0/0</TH></TR>
</TABLE>
<TABLE align="right" valign="top" border="1" width="65%" height="600" cellspacing=0>
<CAPTION align="top"><B>Solution</B></CAPTION>
<TR><TD valign="top">
<DIV id=mySol>My Solution</DIV>
<DIV id=YASS>YASS Solution</DIV>
<DIV id=Tak>Takaken Solution</DIV>
</TD></TR>
</TABLE>
</BODY>
</HTML>
【问题讨论】:
标签: javascript html css