Я пытаюсь открыть аккордеон на основе хеш-тега URL. Я нашел похожие ответы, но каждый использует свой аккордеон.
Сценарий HTML выглядит следующим образом:
<div class="contractable">
<div class="header">
<h1>Branding</h1>
<a class="contractTrigger" href="#branded"></a>
</div>
<div id="branded" class="content">
<div class="spacing">
<p>text</p>
</div>
</div>
</div>
И JS:
$(function()
{
$('.contractable').each(function()
{
// Get natural height.
var $contractable = $(this);
var naturalHeight = $contractable.height();
$contractable.data('naturalHeight', naturalHeight);
// Set default properties.
$contractable.find('.content').addClass('closed').css(
{
'height': 0,
'overflow': 'hidden'
});
});
$('.contractable .contractTrigger').click(function(e)
{
e.preventDefault();
var $trigger = $(this);
var $contractable = $trigger.parents('.contractable');
var $content = $contractable.find('.content');
if($content.hasClass('open'))
{
$content.animate(
{
'height': 0
}, 300, function()
{
$content.removeClass('open');
$content.addClass('closed');
});
}
else
{
$content.animate(
{
'height': $contractable.data('naturalHeight')
}, 300, function()
{
$content.removeClass('closed');
$content.addClass('open');
});
}
}
});
});
function closeWindow() {
parent.parent.GB_hide();
}
Я могу достаточно легко получить хеш-тег с помощью var hash_value = window.location.hash.replace ('#', ''); но я застрял в том, как я могу сопоставить хеш с идентификатором div (так как будет несколько разных div), а затем открыть аккордеон. Любая помощь будет принята с благодарностью.