2015-11-18 90 views
0

當單擊特定單元格時,我嘗試隱藏表格的特定行。但是,當目標塊行被隱藏時,屏幕會自動滾動到頁面的頂部。主單元格是可點擊的,並允許隱藏以下關聯的單元格。我的桌子很大,它們是多個可點擊的單元格。如何在顯示元素設置爲none時避免屏幕自動滾動

這裏是簡版的我的代碼:

<tr id="Main1" onclick="hideTr(this.id)"><td><a href="#">Main1</a></td></tr> 
    <tr class = "main1Tr"><td>Cell1</td> 
    </tr> 
    <tr class = "main1Tr"><td>Cell2</td> 
    </tr> 
<tr id="Main2" onclick="hideTr(this.id)"><td><a href="#">Main2</a></td></tr> 
     <tr class = "main2Tr"><td>Cell3</td> 
     </tr> 
     <tr class = "main2Tr"><td>Cell4</td> 
     </tr> 

function hideTr(id){ 
if(id=="Main1"){ 
    loading = document.getElementsByClassName("main1Tr"); 
     for (var i = 0; i < loading.length; i++){ 
      display = loading[i].style.display; 
      if(display == "none"){loading[i].style.display="";} 
      if(display == ""){loading[i].style.display="none";} 
     } 
    } 
if(id=="Main2"){ 
     loading = document.getElementsByClassName("main2Tr"); 
      for (var i = 0; i < loading.length; i++){ 
       display = loading[i].style.display; 
       if(display == "none"){loading[i].style.display="";} 
       if(display == ""){loading[i].style.display="none";} 
      } 
     } 
} 

回答

1

你在你的onclick處理器(內部沒有hideTr,這是行不通的)忘記to return false;。這應該解決它。

1

你必須返回false的onclick 嘗試的onclick = 「hideTr(this.id);返回false」

+0

hashchange:對不起,我好像你回答了這個問題,當我輸入了相同的答案 –

+0

沒有問題:)乾杯 – hashchange

相關問題