【发布时间】:2016-10-18 05:13:22
【问题描述】:
我正在尝试做类似手风琴效果的事情。当您单击“选项卡”时,它应该关闭已经打开的选项卡,然后打开被单击的选项卡。 但是发生的事情是它首先打开点击的那个,然后关闭已经打开的那个。
你可以在这里看到它: https://boguz.github.io/SWCanonTimeline/
我正在使用以下 jQuery:
// DOCUMENT READY FUNCTION
$(document).ready(function () {
// CLICK ON STRIPE
$(".stripe").on("click", function() {
closeStripe();
openStripe( $(this) );
});
}); // end of document.ready
// CLOSE OPEN STRIPE
function closeStripe() {
$(".open").removeClass("open");
}
// OPEN CLICKED STRIPE
function openStripe(stripe) {
stripe.addClass("open");
}
我曾尝试使用$.when().done(),但未能成功。我也尝试将其设为回调函数,但没有成功。
【问题讨论】:
-
由于没有 jquery 动画命令(例如
.close()或.slideUp()),因此可以安全地假设(假设它不是问题)您正在使用 css 过渡。将 css 转换“排队”并不容易,因为 jquery 不知道它们 - 你可能想看看使用 jquery(根据问题标签)。 -
.when().done()用于 ajax 承诺,与 jquery 动画(也不是 css 转换)无关。
标签: javascript jquery accordion jquery-callback