我有一个常见问题折叠菜单。
每个问题都有一个类名为q,其中id为q1或q2或q3。
每个答案都有一个类名为a。
当url带有锚点/faq#q2时,我希望q2被触发。我有以下代码,但它不起作用。
我认为导致它不起作用的行是:if(hash)$(.q [id $ =“+ hash +”]).trigger('click');但我无法弄清楚问题所在。
当url带有锚点/faq#q2时,我希望q2被触发。我有以下代码,但它不起作用。
我认为导致它不起作用的行是:if(hash)$(.q [id $ =“+ hash +”]).trigger('click');但我无法弄清楚问题所在。
$(document).ready(function($) {
$(".a").hide().first().show();
$(".q:first").addClass("active");
$('#accordion').find('.q').click(function(){
//Expand or collapse this panel
$(this).next().slideToggle('fast');
//Hide the other panels
$(".a").not($(this).next()).slideUp('fast');
//Find anchor hash and open
var hash = $.trim( window.location.hash );
if (hash) $(.q[id$="+hash+"]).trigger('click');
});
});
.q {cursor: pointer;}
.a {display: none;}
.q.active + .accordion-content {
display: block;
}
<div id="accordion">
<h4 class="q" id="q1">Accordion 1</h4>
<div class="a">
<p>Cras malesuada ultrices augue <a href="#q2" onclick="setTimeout('history.go(0);',800);">Open Accordion 2</a> molestie risus.</p>
</div>
<h4 class="q" id="q2">Accordion 2</h4>
<div class="a">
<p>Lorem ipsum dolor sit amet mauris eu turpis.</p>
</div>
<h4 class="q" id="q3">Accordion 3</h4>
<div class="a">
<p>Vivamus facilisisnibh scelerisque laoreet.</p>
</div>
</div>