2015-11-08 200 views
-1

我想一個循環添加到這個腳本可以隱藏所有其他分區後,我按其中的一個:我怎樣才能讓一個DIV和隱藏所有其他

function showHideDiv(id) { 
 

 
    var obj = document.getElementById(id); 
 

 
    if (obj.style.display == "none") { 
 
    obj.style.display = 'block'; 
 

 
    } else if (obj.style.display == "block") { 
 
    obj.style.display = 'none'; 
 
    } 
 
}
<li style="opacity: 1; transform: matrix(1, 0, 0, 1, 0, 0);"><a href="#guitars" onclick="showHideDiv('guitars')">Guitars</a> 
 
</li> 
 
<li style="opacity: 1; transform: matrix(1, 0, 0, 1, 0, 0);"><a href="#basses" onclick="showHideDiv('basses')">Basses</a> 
 
</li> 
 
<li style="opacity: 1; transform: matrix(1, 0, 0, 1, 0, 0);"><a href="#gallary" onclick="showHideDiv('gallary')">GALLLARY</a> 
 
</li> 
 

 

 

 

 
<div id="guitars" class="guitars" style="display: none;" class="mCustomScrollbar" data-mcs-theme="dark"> 
 
    <h2>Our Guiters</h2> 
 
</div> 
 
<div id="guitars" class="guitars" style="display: none;" class="mCustomScrollbar" data-mcs-theme="dark"> 
 
    <h2>Our Basses</h2> 
 
</div>

+0

的ID都應該是獨一無二的。分享你的html標記 – Taleeb

+1

對不起,有什麼問題? – xbilek18

+0

你想構建「標籤」嗎? – cobra

回答

0

如果我正確理解你的問題,下面的代碼可能對你有幫助。

$(document).ready(function() { 
 
var d = $('#parent > div').length; 
 
$('#parent > div').click(function (e) 
 
{ 
 
    
 
    var s = $('#parent > div').length -1; 
 
    var z = $('div').index(this); 
 
    for(i=0;i<=(s);i++){ 
 
    var y = z-1; 
 
    if(i != y){ 
 
    $('#parent > div').eq(i).css('display','none'); 
 
     console.log('Index '+i+'has been hidden'); 
 
     } 
 
     
 
    } 
 
    
 
}); 
 

 

 
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<div id = "parent"> 
 
    <div>Guitars Basses GALLLARY</div> 
 
    <div>Our Guiters</div> 
 
    <div>Our Basses</div> 
 
</div>

0

你可以做這樣的事情:

var divs = document.getElementsByTagName("div"); 
for(var i = 0; i < divs.length; i++){ 
    //do something to each div like 
    if (divs[i].style.display=="none"){ 
     divs[i].style.display='block'; 
    } else if(divs[i].style.display=="block"){ 
      divs[i].style.display='none'; 
    } 
} 

,如果你不想選擇所有的div可以將類分配給你想要的div和使用方法:

document.getElementsByClassName('assignedclass') 
相關問題