저는 자바 스크립트를 처음 사용하기 때문에 간단한 아코디언 기능을 작성하려고합니다. h2를 클릭하면 "아코디언 - #"div가 표시됩니다. 아코디언이 이미 열려 있으면 ("display = block"), 숨기려고합니다 ("display = none"). h2를 클릭하면 아무 일도 일어나지 않습니다. 나는 사방을 검색하지만 난 내 코드 뭐가 잘못 표시되지 않습니다 :자바 스크립트 아코디언 기능이 실행되지 않습니까?
function initiate(i) {
var selected = document.getElementById('accordion-'+i).style.display;
if(selected == "block") {
selected = "none";
} else {
selected = "block";
}
}
샘플 HTML
<h2 onClick="initiate('6')">Project</h2>
<!-- begin code to hide/show -->
<div id="accordion-6" class="accordion">
<div class="left">
<p>left column text</p>
</div>
<div class="right">
<p>right column text</p>
</div>
</div> <!-- end code to hide/show -->
샘플 CSS
main {
margin: auto;
width: 660px; }
main .accordion {
padding: 0 10px 30px 10px;
overflow: auto; }
main .accordion .left {
width: 200px;
float: left; }
main .accordion .right {
width: 420px;
float: right; }
#accordion-0 {
display: block; }
#accordion-1 {
display: block; }
#accordion-2 {
display: block; }
#accordion-3 {
display: block; }
#accordion-4 {
display: block; }
#accordion-5 {
display: block; }
#accordion-6 {
display: block; }
#accordion-7 {
display: block; }
`
지금 봅니다. 내 변수는 표시 할 값을 문자열로 저장하는 것이 었습니다. 목표로 설정하려는 div 상자 밖으로 개체를 만드는 것이 아닙니다. 이제는 의미가 있습니다. 또한 if 문을 변경하는 이유를 알 수 있습니다. 정말 고마워! – user2535802