2017-09-13 1 views
0

상위 헤더의 onclick 이벤트로 표시하거나 숨길 뉴스 레터 축소판 목록을 만들려고합니다. 이 함수는 목록을 표시하기 위해 제대로 호출되지만 두 번째 클릭시 다시 숨기지 않습니다. 나는 그것이 내가 누락 된 단순한 무언가라고 확신하지만, 나는 손실에 처해있다.부모 onclick 이벤트로 숨겨진 div 표시 및 숨기기

function showBabList() { 
 
    if (document.getElementById('bablist').style.display = "none") { 
 
    document.getElementById('bablist').style.display = "block"; 
 
    } else { 
 
    document.getElementById('bablist').style.display = "none"; 
 
    } 
 
}
<h2 onclick="showBabList()">BITSandBYTES Newsletters</h2> 
 
<div id="bablist" style="display: none;"> 
 
    <ul> 
 
    <a href="newsletter/BITSandBYTES2017-07.pdf" target="bab"><img src="images/thumbs/BITSandBYTES2017-07_thumb.png" class="babthumb" height="100px" width="75px"></a> 
 
    <a href="newsletter/BITSandBYTES2017-08.pdf" target="bab"><img src="images/thumbs/BITSandBYTES2017-08_thumb.png" class="babthumb" height="100px" width="75px"></a> 
 
    </ul> 
 
</div>

+0

난 당신이 == 대신 사용할 필요가 있다고 생각 = document.getElementById를 ('bablist'). style.display를 == GEORGE BY "없음" –

답변

1

function showBabList() { 
 
    if (document.getElementById('bablist').style.display == "none") { 
 
    document.getElementById('bablist').style.display = "block"; 
 
    } else { 
 
    document.getElementById('bablist').style.display = "none"; 
 
    } 
 
}
<h2 onclick="showBabList()">BITSandBYTES Newsletters</h2> 
 
<div id="bablist" style="display: none;"> 
 
    <ul> 
 
    <a href="newsletter/BITSandBYTES2017-07.pdf" target="bab"><img src="images/thumbs/BITSandBYTES2017-07_thumb.png" class="babthumb" height="100px" width="75px"></a> 
 
    <a href="newsletter/BITSandBYTES2017-08.pdf" target="bab"><img src="images/thumbs/BITSandBYTES2017-08_thumb.png" class="babthumb" height="100px" width="75px"></a> 
 
    </ul> 
 
</div>

WRONG
if (document.getElementById('bablist').style.display = "none")

CORRECT
if (document.getElementById('bablist').style.display == "none")

+0

, 당신은 올바른 없습니다. 함수가 처음부터 호출 되었기 때문에 더 이상이 문을 해결할 필요가 없다고 생각했습니다. – RevFonzAyy