私はh2タグのスタイルを設定し、jQueryを使用してそれを一種のボタンに変えました。クリックすると、非表示のコンテンツがこのボタンの下から下にスライドします。私の問題は効果のシーケンスです、私はそれらを正しくタイミングをとることができません。
これが私がそれをどのように見せたいかです:
ボタンの角は丸みを帯びています。クリックすると、下部の丸い角が削除されるため、非表示のコンテンツがボタンの下部からスライドしているように見えます。
ボタンをもう一度クリックすると、コンテンツがボタンにスライドします。コンテンツが上にスライドし終わると、ボタンはすべての丸い角の表示を再開します。
私のjfiddleモックアップには、2つのサンプルボタンがあります。例1は最初のクリックで機能しますが、もう一度クリックするとコンテンツがスライドして戻る前にボタンが丸くなります。
例2をクリックすると、コンテンツがスライドアウトするときにボタンが丸くなります。ただし、コンテンツを非表示にするためにもう一度クリックすると、シーケンスは正しい順序で機能します。
要点は次のとおりです。
$('.section').hide();
$('.example1').click( function(event) {
event.preventDefault();
$(this).next().slideToggle('slow')
.prev().toggleClass('open-header');
});
$('.example2').click( function(event) {
event.preventDefault();
$(this).next()
.slideToggle('slow')
.queue( function(next) {
$(this).prev().toggleClass('open-header');
$(this).dequeue();
});
});
各ボタンの動作部分を組み合わせたいのですが、どうすればいいのかわかりません。.queue()またはコールバックの使用に関する他の投稿を読みましたが、それを機能させることができないため、自分が何をしているのかわからないはずです。助言がありますか?