2017-09-07 6 views
1

Qがこれを求めています。しかし、これらはかなり古くてアクティブではありません。新しい方法や回避策やアイデアはありますか?スクロールイベントがユーザーまたはアニメーションによって作成されたかどうかを検出する新しい方法はありますか

私が望むのは、スクロールイベントを区別することです。この後、スクロール機能でそれを削除しています、

$(this).addClass('max-limit'); 
$('html,body').animate({ 
    scrollTop: thS.offset().top - window.innerHeight/2 
}, 500); 

ものは次のとおりです:

$(window).on('scroll',function(){ 
    $('.thisClass').removeClass('max-limit'); 
}); 

けどを

さんが言ってみましょうが、機能上、アニメーションをトリガーした後、クラスmax-limitを追加していaddClassの後にアニメーションをトリガーしているので、スクロール機能のためにクラスが自動的に削除されます。は、ユーザーがページをスクロールしている場合にのみこのクラスを削除します。お手数ですが、よろしくお願いいたします。

答えて

1

あなたはjQueryのを使用しているためanimateあなたが使用することができます。

:animated Selector:セレクタが実行された時点で、アニメーションの進行中のすべての要素を選択します。

したがって、あなたのスクロールイベントは次のようになります。

$(window).on('scroll',function(e){ 
    if (!$('html,body').is(':animated')) { 
     $('.thisClass').removeClass('max-limit'); 
    } 
}); 
関連する問題