только один аккордеон панель Open В Время
$(document).ready(function(){
\t var allPanels = $('.accordian li div');
\t
\t allPanels.hide();
\t $('#nav-list li a').click(function() {
\t \t var id;
\t \t
\t \t if(this.id == id) {
\t \t \t allPanels.slideUp('slow');
\t \t \t alert("hello");
\t \t }
\t \t else {
\t \t \t allPanels.slideUp('slow');
\t \t \t $(this).parent('li').find('div').toggle('slow');
\t \t \t id = this.id;
\t \t }
\t \t return false;
\t });
});
.accordian {
\t
\t width: 300px;
\t height: 400px;
}
.accordian li {
\t width: 100%;
\t list-style-type: none;
\t padding: 10px;
border: 1px solid black;
border-bottom: 0;
}
.accordian li:last-child {
\t border-bottom: 1px solid black;
}
.accordian a {
\t display: block;
\t width: 100%;
\t color: black;
\t text-decoration: none;
\t font-weight: bold;
\t background-color: #a3a3a3;
}
.contentArea {
\t border-top: 0;
font-size: 12px;
background-color: #7BBF6A;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<ul id="nav-list" class="accordian">
\t \t <li id="select_1">
\t \t \t <a href="">Some Text</a>
\t \t \t <div class="contentArea">
\t \t \t \t "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
\t \t \t </div>
\t \t </li>
\t \t <li id="talk_1">
\t \t \t <a href="">Some Text</a>
\t \t \t <div class="contentArea">
\t \t \t \t "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
\t \t \t </div>
\t \t <li id="talk_2">
\t \t \t <a href="">Some Text</a>
\t \t \t <div class="contentArea">
\t \t \t \t "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
\t \t \t </div>
\t \t </li>
\t \t <li id="talk_3">
\t \t \t <a href="">Some Text</a>
\t \t \t <div class="contentArea">
\t \t \t \t "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
\t \t \t </div>
\t \t </li>
\t \t <li id="talk_8">
\t \t \t <a href="">Some Text</a>
\t \t \t <div class="contentArea">
\t \t \t \t "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
\t \t \t </div>
\t \t </li>
\t \t <li id="talk_9">
\t \t \t <a href="">Some Text</a>
\t \t \t <div class="contentArea">
\t \t \t \t "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
\t \t \t </div>
\t \t </li>
\t </ul>
У этой простой аккордеон, и хотел бы только одну панель аккордеона открытой в то время. Мой код работает, пока я дважды нажимаю на ту же панель, пытаясь ее закрыть. Он не будет закрываться, и он всегда имеет одну панель открытой. Может ли кто-нибудь указать, где я ошибся с моей логикой и как ее исправить? Я включил в себя фрагмент кода:
Спасибо. Однако, когда я использовал код, который вы предоставили, он не работал. Вероятно, это связано с моей структурой html, поэтому я включил фрагмент кода, чтобы вы могли точно видеть, что я вижу. Похоже, что первая часть моего утверждения if никогда не верна. – webDev