スクロール選択アニメーションが完了するのを待っている間、スクロールを無効にします

スラッシャー

section-scrollアニメーションの移動中にスクロールイベントが無効になる場所をカスタマイズしようとしています。スクロールアニメーションの進行中に、オーバーフローを非表示にしたり、他の同様の機能を適用してみましたが、うまくいきませんでした。

JSフィドルの例

CSS

.stop-scrolling {
  height: 100%;
  overflow: hidden;
}

JSの例:

$('html').on('wheel', function(event) {
  if (event.originalEvent.deltaY > 0) {
//scroll down
    counter++;


    $('body').addClass('stop-scrolling');
    console.log("Start animacije");
    setTimeout(function () {
      $('body.stop-scrolling').removeClass('stop-scrolling');
      console.log("End animation");
    }, 800);



    if (!(counter > maxSections)) {
      $('html, body').animate({
        scrollTop: $( $("#sect-"+counter) ).offset().top
      }, 800);
    }

  } else {
//scroll up
    counter--;


    $('body').addClass('stop-scrolling');
    console.log("Start animation");
    setTimeout(function () {
      $('body.stop-scrolling').removeClass('stop-scrolling');
      console.log("End animation");
    }, 800);


    if (!(counter < 1)) {
      $('html, body').animate({
        scrollTop: $( $("#sect-"+counter) ).offset().top
      }, 800);
    }

  }

  if (counter <= 0) {
    counter = 1;
  }
  else if (counter >= 3) {
    counter = maxSections;
  }

  console.log(counter);
});

アニメーションの進行中にスクロールすると、セクションの終わりに到達するまでスクロールが続行されます。

アニメーションの進行中にスクロールイベントを無効にすることはできますか?

TheMisir

これは、コードの変更が少ない簡単な修正です。

スクロール状態を表す変数を宣言するだけです。また、この状態を使用すると、現在スクロールしている場合、着信スクロールイベントを無視できます。

let scrolling = false;

$('html').on('wheel', function(event) {
  if (scrolling) {
    return;
  } else {
    scrolling = true;
    setTimeout(function () {
      scrolling = false;
    }, 800 /* animation duration */);
  }

  ...

これが最後のフィドルリンクです。

setTimeout機能を使用するとfalseスクロール状態をそのようにリセットでき、新しいイベントが受信されます。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

ViewPagerのスクロールアニメーションを無効にする

分類Dev

スクロール、アニメーションを無効にしてから、もう一度スクロールを有効にします

分類Dev

スクロールのアニメーション。要素に到達する前にアニメーションが完了しますか?

分類Dev

アニメーションが完了するまでスクロールを防止する

分類Dev

アニメーション時にスクロールバーを無効にする

分類Dev

スクロールのsvgパスに沿って要素をアニメーション化する方法は?

分類Dev

一部のHTMLアンカーのjQueryスクロールアニメーションを無効にする方法はありますか?

分類Dev

ハンバーガーメニューをクリックしたときにスクロールを無効にするにはどうすればよいですか?次に、ナビゲーションメニューからオプションを選択したときに、スクロールを再度有効にします。

分類Dev

ソーシャルプロバイダーの非同期操作が完了するのを待っている間、HttpServerUtility.Executeがブロックされました

分類Dev

すべてのテキストがスクロールする前に、CSSスクロールアニメーションが再開します

分類Dev

gifアニメーションが完了した後にページスクロールをアクティブにする方法

分類Dev

Firefoxコンテンツのブロック/シールドアニメーションを無効にする

分類Dev

[javascript、jQuery]アニメーションが完全に完了するのを待ってから、コールバックなしで別のアニメーションを続行する方法

分類Dev

QTextEditのテキストを自動的にスクロールする方法(アニメーション効果)?

分類Dev

SwiftUI:ScrollView内でスクロールする場合、ボタンの選択を無効にします

分類Dev

自動スクロールアニメーションはユーザーのスクロールを無効にします-それを上書きする機能

分類Dev

自動スクロールアニメーションはユーザーのスクロールを無効にします-それを上書きする機能

分類Dev

アプリケーションを続行する前に、2番目のプロセスが完了するのを待っています

分類Dev

div要素内のテキストは、CSS3アニメーションコントロールを無視しています。私は何が間違っているのですか?

分類Dev

スクロール中にdivが表示されている場合は、アニメーション化して背景色を変更します

分類Dev

Bootsrap 4:モーダルアニメーションが完了するまでボタンを無効にする

分類Dev

送信時に、アニメーションを実行し、完了するのを待ってから送信します

分類Dev

ブラウザタブが選択されるのを待っているVueトランジショングループを無効にする方法は?

分類Dev

divをアニメーション化してWebページを自動的にスクロールする

分類Dev

角度マテリアルの選択が開いているときにスクロールを無効にする

分類Dev

UIScrollViewSWIFTを使用してスクロールするときにアニメーション化する

分類Dev

スクロールして表示するときに要素をアニメーション化する方法

分類Dev

クリックアニメーションを無効にして、選択を解除します

分類Dev

バックアップが無効になっている場合、HazelcastはMultiMap値をローカルインスタンスに保存しますか?

Related 関連記事

  1. 1

    ViewPagerのスクロールアニメーションを無効にする

  2. 2

    スクロール、アニメーションを無効にしてから、もう一度スクロールを有効にします

  3. 3

    スクロールのアニメーション。要素に到達する前にアニメーションが完了しますか?

  4. 4

    アニメーションが完了するまでスクロールを防止する

  5. 5

    アニメーション時にスクロールバーを無効にする

  6. 6

    スクロールのsvgパスに沿って要素をアニメーション化する方法は?

  7. 7

    一部のHTMLアンカーのjQueryスクロールアニメーションを無効にする方法はありますか?

  8. 8

    ハンバーガーメニューをクリックしたときにスクロールを無効にするにはどうすればよいですか?次に、ナビゲーションメニューからオプションを選択したときに、スクロールを再度有効にします。

  9. 9

    ソーシャルプロバイダーの非同期操作が完了するのを待っている間、HttpServerUtility.Executeがブロックされました

  10. 10

    すべてのテキストがスクロールする前に、CSSスクロールアニメーションが再開します

  11. 11

    gifアニメーションが完了した後にページスクロールをアクティブにする方法

  12. 12

    Firefoxコンテンツのブロック/シールドアニメーションを無効にする

  13. 13

    [javascript、jQuery]アニメーションが完全に完了するのを待ってから、コールバックなしで別のアニメーションを続行する方法

  14. 14

    QTextEditのテキストを自動的にスクロールする方法(アニメーション効果)?

  15. 15

    SwiftUI:ScrollView内でスクロールする場合、ボタンの選択を無効にします

  16. 16

    自動スクロールアニメーションはユーザーのスクロールを無効にします-それを上書きする機能

  17. 17

    自動スクロールアニメーションはユーザーのスクロールを無効にします-それを上書きする機能

  18. 18

    アプリケーションを続行する前に、2番目のプロセスが完了するのを待っています

  19. 19

    div要素内のテキストは、CSS3アニメーションコントロールを無視しています。私は何が間違っているのですか?

  20. 20

    スクロール中にdivが表示されている場合は、アニメーション化して背景色を変更します

  21. 21

    Bootsrap 4:モーダルアニメーションが完了するまでボタンを無効にする

  22. 22

    送信時に、アニメーションを実行し、完了するのを待ってから送信します

  23. 23

    ブラウザタブが選択されるのを待っているVueトランジショングループを無効にする方法は?

  24. 24

    divをアニメーション化してWebページを自動的にスクロールする

  25. 25

    角度マテリアルの選択が開いているときにスクロールを無効にする

  26. 26

    UIScrollViewSWIFTを使用してスクロールするときにアニメーション化する

  27. 27

    スクロールして表示するときに要素をアニメーション化する方法

  28. 28

    クリックアニメーションを無効にして、選択を解除します

  29. 29

    バックアップが無効になっている場合、HazelcastはMultiMap値をローカルインスタンスに保存しますか?

ホットタグ

アーカイブ