我有下面的代碼,試圖在我的網站上實現一個手風琴,但它不工作 - 任何人都可以請告知爲什麼(js和css被引用我的網頁頭)?Jquery手風琴沒有在點擊上顯示內容
HTML:
<dl class="accordion">
<dt>Answer 1</dt>
<dd>Details of the answer go here...</dd>
</dl>
<dl class="accordion">
<dt>Answer 2</dt>
<dd>Details of the answer go here...</dd>
</dl>
CSS:
.accordion { margin: 0 0 30px; border-top: 1px solid #DDD; border-right: 1px solid #DDD; border-left: 1px solid #DDD;
-webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; }
.accordion dt { border-bottom: 1px solid #DDD; }
.accordion dd { display: none; padding: 20px; border-bottom: 1px solid #DDD; }
.accordion dt { cursor: pointer; padding: 8px 15px; margin: 0; }
.accordion dt:before { content: "\25B6"; padding-right: 5px; }
.accordion dt.accordion-active:before { content: "\25BE"; padding-right: 5px; }
.accordion dt.accordion-active:hover { cursor: default; }
JS:
(function($) {
//Hide all panels
var allPanels = $('.accordion > dd').hide();
//Show first panel
$('.accordion > dd:first-of-type').show();
//Add active class to first panel
$('.accordion > dt:first-of-type').addClass('accordion-active');
//Handle click function
jQuery('.accordion > dt').on('click', function() {
//this clicked panel
$this = $(this);
//the target panel content
$target = $this.next();
//Only toggle non-displayed
if(!$this.hasClass('accordion-active')){
//slide up any open panels and remove active class
$this.parent().children('dd').slideUp();
//remove any active class
jQuery('.accordion > dt').removeClass('accordion-active');
//add active class
$this.addClass('accordion-active');
//slide down target panel
$target.addClass('active').slideDown();
}
return false;
});
})(jQuery)
;
它不是if條件,你在哪裏檢查裏面去 - !$ this.hasClass(「手風琴處於激活狀態」) –