アンカータグ<a class="next">next</a>
を「ボタン」にしました。表示する新しいものがない場合は、このタグを非表示にする必要がある場合があります。ボタンを.hide()で非表示にし、.show()で再表示すれば、すべて正常に機能します。しかし、代わりに.fadeIn()と.fadeOut()を使用したかったのです。
私が抱えている問題は、fadeOutアニメーション中にユーザーがボタンをクリックすると、ショーを実行しているロジックに問題が発生する可能性があることです。私が見つけた解決策は、元のクリック機能の開始後にボタンからクリックイベントのバインドを解除し、アニメーションの完了後に再バインドすることでした。
$('a.next').click(function() {
$(this).unbind('click');
...
// calls some functions, one of which fades out the a.next if needed
...
$(this).bind('click');
}
上記の例の最後の部分は機能しません。クリックイベントは実際にはアンカーに再バインドされません。誰かがこれを達成するための正しい方法を知っていますか?
私は独学のjqueryの人なので、unbind()やbind()のような高レベルのもののいくつかは頭に浮かび、jqueryのドキュメントは私が理解できるほど単純ではありません。