我正在使用Foundation 5 Accordions。他们工作,但我想添加平滑的过渡。我做到了,然后它抛出了一个TypeError。解决此问题后,不会抛出任何错误,但脚本不会关闭打开的面板!
如何让面板关闭?
以下是使用的脚本:
$(function() {
$(".accordion").on("click", "dd", function (event) {
$("dd.active").find(".content").slideToggle("slow");
$(this).find(".content").slideToggle("slow");
var current = $(event.currentTarget);
if (current.hasClass('active')) {
current.removeClass('active');
}
})
});
我认为这会照顾开放式面板:
var current = $(event.currentTarget);
if (current.hasClass('active')) {
current.removeClass('active');
}
但它在第一次工作后不会在此之后。
如何解决这个问题?
答案 0 :(得分:0)
如果要关闭面板,应使用slideUp()
方法,也可以使用:not()
选择器排除活动元素:
$(".accordion").on("click", "dd:not(.active)", function (event) {
$("dd.active").removeClass('active').find(".content").slideUp("fast");
$(this).addClass('active').find(".content").slideToggle("fast");
});