切换HTML元素

时间:2013-03-18 03:44:44

标签: javascript html

我错过了什么让它切换?打开第二个帐户似乎合乎逻辑,但它只切换一次。

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>

4 个答案:

答案 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();
}