最初は非表示になっているラップ要素があります。クリックしたら、別の要素でトグルアニメーションを実行する前に、非表示の要素に表示クラスを追加する必要があります。次に、もう一度クリックすると、アニメーション化された要素はそのアニメーションを切り替えてから、そのクラスをラップから削除する必要があります。
これが私がこれまでに持っているものです。最初のクリックは正常に実行されます。クラスが追加され、アニメーションが実行されます。ただし、もう一度クリックすると、アニメーションは適切に実行されますが、完了すると、クラスは削除されません。
$(document).ready(function () {
$('.search-btn').click(function() {
if ($('.search-form-wrap').hasClass('hidden')) {
$('.search-form-wrap').addClass('visible', function() {
$('.search-form').blindLeftToggle('slow');
});
}
else {
$('.search-form').blindLeftToggle('slow', function() {
$('.search-form-wrap').removeClass('visible');
});
}
});
});
これは、Blazemongerのコードに基づいて機能しているようですが、$('.search-form-wrap').hide();
$(document).ready(function () {
$('.search-form-wrap').hide();
$('.search-btn').click(function() {
if ($('.search-form-wrap').is(':hidden')) {
$('.search-btn').toggleClass('active');
$('.search-form-wrap').show();
$('.search-form').blindLeftToggle('slow');
} else {
$('.search-form').blindLeftToggle('slow', function() {
$('.search-form-wrap').hide();
});
}
});
});