2013-03-18 133 views
0

我錯過了什麼讓它切換?開啓第二個帳戶似乎是合理的,但它只切換一次。切換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> 
+1

什麼是'top.visible_id'? 'top'在哪裏申報? – Aiias 2013-03-18 03:46:03

+0

爲什麼不只是使用jQuery?它會更容易。 – egig 2013-03-18 03:47:21

+0

你實際上可以使用jQuery的'toggle()'效果 – btevfik 2013-03-18 03:49:01

回答

-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'; 
    }  
} 
+0

爲什麼這是低調?這是工作! – 2013-04-04 05:09:56

2

我不知道top是什麼,但你不需要在你的例子中使用它。只要檢查其格是可見:

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

我想你創建相同的條件下進行,如果和其他人:

top.visible_id = 'right'; 
+0

我認爲問題是'我錯過了什麼讓它切換?'。 – egig 2013-03-18 04:49:53

-1

如果你想要做的就是關掉每個元素的可見性和其中一個初始隱藏,另一個最初顯示,嘗試使用jQuery的.toggle()

function ShowHide() { 
    $('#id1,#id2').toggle(); 
} 
+0

'$('#id1,#id2')。toggle()' – vol7ron 2013-03-18 04:06:08

+0

@ vol7ron - 謝謝。我忘了那些可以合併。我已經相應地更新了答案。 – Aiias 2013-03-18 04:06:49

+0

並不是說它必須替換它,只是提供它作爲替代方法,我會檢查[jsperf](jsperf.com)以查看哪些更快,如果我想要使用jQuery路由。另外,既然你把它們合併成一行,他真的可以擺脫'ShowHide'函數 – vol7ron 2013-03-18 04:12:39