ページ上のいくつかの要素を移動しようとしていますが、アニメーションの発生中に、「overflow:hidden」をelemntに適用し、アニメーションが完了したら「overflow」を「auto」に戻したいと思います。
JQueryにはいくつかの要素がアニメーション化されているかどうかを判断するユーティリティ関数がありますが、ドキュメント内のどこにも見つかりません
if( $(elem).is(':animated') ) {...}
詳細情報: http://docs.jquery.com/Selectors/animated
または:
$(elem)
.css('overflow' ,'hidden')
.animate({/*options*/}, function(){
// Callback function
$(this).css('overflow', 'auto');
};
または、何かがアニメートされていないかどうかをテストするには、単に「!」を追加できます。
if (!$(element).is(':animated')) {...}
$('selector').click(function() {
if ($(':animated').length) {
return false;
}
$("html, body").scrollTop(0);
});
アニメーション要素にcssを適用する場合は、:animated
擬似セレクターを使用して、このようにします。
$("selector").css('overflow','hidden');
$("selector:animated").css('overflow','auto');
ソース: https://learn.jquery.com/using-jquery-core/selecting-elements/