$('a').on('click', function() {
var link = $(this);
if (!link.hasClass('animated')) {
link.addClass('animated');
// css3 animation
// callback
setTimeout(function() {
link.removeClass('animated');
}, 600);
}
}
});
このコードを使用して、アニメーションのちらつきを防ぎます。いくつかのアニメーションを作成する前に、アニメーション化されたクラスの存在をチェックします。animate
関数はパフォーマンスが悪いため使用しません。
だから私は、クラスで何かをするように頼むたびに、DOM に影響を与えていることを理解しています。
link
クラスを使用する代わりに、オブジェクトに追加のプロパティを使用できないでしょうか? お気に入り:
link.animated = true;
if (link.animated) {
// code
}
link.active = true;
次のように使用しても安全ですか? 私が直面する可能性のある問題 (キャッシングまたは whatelse) はありますか?