我错过了什么让它切换?打开第二个帐户似乎合乎逻辑,但它只切换一次。
function ShowHide()
{
var right_e = document.getElementById('id1');
var left_e = document.getElementById('id2');
if (top.visible_id == 'right') {
right_e.style.display = 'none';
left_e.style.display = 'block';
top.visible_id = 'left';
} else {
right_e.style.display = 'block';
left_e.style.display = 'none';
top.visible_id = 'right';
}
}
<a onclick ="javascript:ShowHide()" href="javascript:;" >click here</a>
答案 0 :(得分:2)
我不知道top
是什么,但您不需要在示例中使用它。只需检查哪个div可见:
function ShowHide()
{
var right_e = document.getElementById('id1');
var left_e = document.getElementById('id2');
if (right_e.style.display === 'block') {
right_e.style.display = 'none';
left_e.style.display = 'block';
} else {
right_e.style.display = 'block';
left_e.style.display = 'none';
}
}
答案 1 :(得分:-1)
我认为你为if和else创建了相同的条件:
top.visible_id = 'right';
答案 2 :(得分:-1)
function ShowHide()
{
if (document.getElementById('id1').style.display == 'block') {
document.getElementById('id1').style.display = 'none';
document.getElementById('id2').style.display = 'block';
} else {
document.getElementById('id1').style.display = 'block';
document.getElementById('id2').style.display = 'none';
}
}
答案 3 :(得分:-1)
如果要做的只是关闭每个元素的可见性,并且其中一个元素在最初显示时初始隐藏,请尝试使用jQuery的.toggle()
。
function ShowHide() {
$('#id1,#id2').toggle();
}