У меня есть вопрос о некоторой функциональности, которую я пытаюсь добавить в свой jQuery, чтобы позволить кнопке или тексту расширять / сжимать все деления при нажатии ... и я хотел бы выяснить, как сохранить первый div открывается при загрузке страницы.
Вот jQuery:
(document).ready(function(){
//Hides containers on load
$(".toggle_container").hide();
//Switch "Open" and "Close" state on click
$("h2.trigger").toggle(function(){
$(this).addClass("active");
}, function () {
$(this).removeClass("active");
});
//Slide up and down on click
$("h2.trigger").click(function(){
$(this).next(".toggle_container").slideToggle("slow");
});
});
и css:
// uses a background image with an on (+) and off (-) state stacked on top of each other
h2.trigger { background: url(buttonBG.gif) no-repeat;height: 46px;line-height: 46px;width: 300px;font-size: 2em;font-weight: normal;}
h2.trigger a {color: #fff;text-decoration: none; display: block;}
h2.active {background-position: left bottom;}
.toggle_container { overflow: hidden; }
.toggle_container .block {padding: 20px;}
И HTML
<h2 class="trigger"><a href="#">Heading</a></h2>
<div class="toggle_container">
<div class="block">Stuff goes here</div>
</div>
<h2 class="trigger"><a href="#">Heading 2</a></h2>
<div class="toggle_container">
<div class="block">Stuff goes here</div>
</div>
Так что он прекрасно работает и выглядит великолепно. Однако, когда я пытаюсь сохранить первый экземпляр открытым, фоновое изображение, которое должно быть настроено, показывает состояние (-), не меняется. Код, который я использовал для этого был:
$(".toggle_container:first").show();
Итак, мой вопрос: знает ли кто-нибудь более простой способ показать первый экземпляр как открытый без необходимости создавать специальные правила / класс для первого элемента? Кроме того, есть идеи, как сделать ссылку открыть все / закрыть все?
Спасибо!