На своей странице я использую несколько свернутых групп Twitter Bootstrap. Каждая группа может содержать несколько якорей:
<div class="accordion" id="accordion">
<div class="accordion-group">
<div class="accordion-heading"> <a href="#section1"></a><a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion" href="#collapseOne">Section 1</a>
</div>
<div id="collapseOne" class="accordion-body collapse">
<div class="accordion-inner">
<p><a href="#section1-text1"></a>Section 1 - Text 1</p>
<p><a href="#section1-text2"></a>Section 1 - Text 2</p>
</div>
</div>
</div>
<div class="accordion-group">
<div class="accordion-heading"> <a href="#section2"></a><a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion" href="#collapseTwo">Section 2</a>
</div>
<div id="collapseTwo" class="accordion-body collapse">
<div class="accordion-inner">
<p><a href="#section2-text1"></a>Section 2 - Text 1</p>
<p><a href="#section2-text2"></a>Section 2 - Text 2</p>
</div>
</div>
</div>
</div>
Если моя страница открывается с определенным хэшем в URL-адресе (например, http://example.com#section2-text2
), то должен отображаться соответствующий коллапс. Я планирую использовать window.location.hash
, чтобы понять, какой свернуть показывать (jsfiddle):
var hash = window.location.hash;
if (hash == '#collapseOne' || hash == '#collapseTwo') {
$(hash).collapse('show');
}
Но у меня есть два вопроса:
- как определить правильное свертывание, чтобы показать, что хэш не содержит его имя (например, якорь и хеш равны
somethingelse-text2
, т.е. не содержатsection2
); как найтиparent
свернуть элемент якоряsomethingelse-text2
? - должен ли я вручную прокручивать якорь после показа коллапса?