0
Я хотел бы посетить мой сайт: http://testsite.com/#accordion2 и для него на якорь & открыть второй аккордеон. Как мне это достичь? Мне также хотелось бы, чтобы это произошло для первого аккордеона, если URL был #accordion1
.Открыть специальное меню аккордеона
Вот мой Fiddle: http://jsfiddle.net/jmjmotb3/
function close_accordion_section(source) {
$(source).parent().find('.accordion-section-title').removeClass('active');
$(source).parent().find('.accordion-section-content').slideUp(300).removeClass('open');
}
$('.accordion-section-title').click(function(e) {
if($(e.target).is('.active')) {
close_accordion_section(e.target);
}else {
$(this).addClass('active');
$(e.target).parent().find('.accordion-section-content').slideDown(300).addClass('open')
}
e.preventDefault();
});
.accordion {
overflow: hidden;
margin-bottom: 40px;
}
.accordion-section {
padding: 15px;
border: 1px solid #d8d8d8;
background: #fbfbfb;
}
.accordion-section-title {
width: 100%;
display: inline-block;
background: url("http://placehold.it/50x50") top right no-repeat;
}
.accordion-section-title.active, .accordion-section-title:hover {
text-decoration: none;
}
.accordion-section-content {
padding: 15px 0;
display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<div id="accordion1" class="accordion">
<div class="accordion-section">
<a class="accordion-section-title" href="#accordion-1">More information</a>
<div id="accordion-1" class="accordion-section-content">
<p>Text.</p>
<p>
</div>
</div>
</div>
<div id="accordion2" class="accordion">
<div class="accordion-section">
<a class="accordion-section-title" href="#accordion-1">More information 2</a>
<div id="accordion-1" class="accordion-section-content">
<p>Text.</p>
<p>
</div>
</div>
</div>
Благодарим за это, Брайан. Итак, как мне интегрировать это в мое текущее решение? – michaelmcgurk
Эй, Майкл. Ну, ваше текущее решение нуждается в некоторых настройках, так как у вас есть функция close_accordion_section, вы также должны иметь функцию open_accordion_section. Как только вы это сделаете, тогда в dom ready вам нужно будет вызвать 'open_accordion_section (window.location.hash)'. Здесь я устанавливаю простой пример, но скрипка кажется немного утонченной с точки зрения захвата хеша местоположения, поэтому я просто жестко закодировал его в верхней части обработчика dom. http://jsfiddle.net/agentfitz/su5xxzav/6/ –
Абсолютно фантастический, Брайан! Да, я тоже получал глюки на скрипке, пытаясь привести хэш. Я добавлю это к моему текущему кодовому имени и отчитаюсь. Спасибо!!! – michaelmcgurk