Vue.js では、スクロール ビューを作成することがありますが、スクロール ビューで奇妙な効果が見つかることがあります。その 1 つは上下のブラー効果です。この効果により、スクロール ビューがフェードインおよびフェードアウトするように見えます。
しかし、場合によっては、この効果をキャンセルしたい場合もあります。この効果は見た目があまり良くない場合があり、ユーザーを混乱させる可能性があるためです。この記事では、Vueの上下のぼかし効果を解除する方法を紹介します。
最初の方法: スクロールのリバウンド効果をキャンセルする
Vue.js のデフォルトのスクロール動作により、スクロール ビューに弾力性のある効果が与えられます。下または上にスクロールすると、スクロール ビューが少し離れた位置に戻ります。これがスクロール リバウンド効果です。上下のぼかし効果をキャンセルしたい場合は、スクロールリバウンド効果をキャンセルすることでキャンセルできます。
コンポーネントの mounted
ライフサイクル フックに次のコードを導入できます。
mounted () { const container = this.$refs.container; container.addEventListener('touchmove', this.preventScroll, { passive: false }); container.addEventListener('touchend', this.allowScroll, { passive: false }); }, methods: { preventScroll (event) { event.preventDefault(); }, allowScroll () { const container = this.$refs.container; const scrollTop = container.scrollTop; const scrollHeight = container.scrollHeight; const height = container.clientHeight; const maxScroll = scrollHeight - height; if (scrollTop === 0 || scrollTop === maxScroll) { container.removeEventListener('touchmove', this.preventScroll); } } }
上記のコードは、スクロール リバウンド効果をキャンセルし、スクロール リバウンド効果もキャンセルします。上にスクロールすると下に状況が表示されます。スクロール ビューで overflow: hidden
が設定されている場合、この方法は機能しません。
2 番目の方法: CSS テクニックを使用する
スクロール リバウンド効果を無効にしたくない場合は、CSS テクニックを使用して Vue の上部と下部のぼかし効果をキャンセルできます。
次のコードをコンポーネント スタイル シートに追加できます:
::-webkit-scrollbar { width: 0 !important; height: 0 !important; }
上記のコードは Webkit ベースのブラウザ (Chrome や Safari など) 用であり、スクロール バーを非表示にしてキャンセルします。上下のぼかし効果。他の種類のブラウザ (Firefox など) をサポートしたい場合は、次のコードを使用できます。
* { scrollbar-width: none !important; }
上記のコードは、すべての要素のスクロールバーを非表示にします。ただし、この方法では水平スクロール バーと垂直スクロール バーの両方がキャンセルされることに注意してください。
3 番目の方法: カスタム ディレクティブを使用する
Vue.js にはカスタム ディレクティブ機能があり、これを使用して複雑なイベント処理ロジックを HTML 要素に追加できます。この機能を使用して、上部と下部のぼかし効果をキャンセルできます。
コードに次のカスタム ディレクティブを追加します。
Vue.directive('disable-scroll', { inserted: function (el) { el.addEventListener('touchmove', function(e) { e.preventDefault(); }, { passive: false }); } });
上記のコードは、スクロール イベントのデフォルトの動作を無効にします。 v-disable-scroll
ディレクティブを HTML 要素に追加して、上下のスクロールを無効にすることができます。
まとめ
以上はVueの上下のぼかし効果をキャンセルする3つの方法です。これらのメソッドを使用すると、Vue.js アプリケーションでよりユーザー フレンドリーなインタラクティブ エクスペリエンスを実現できます。特定のニーズに応じて、目標を達成するための方法を選択できます。この記事がお役に立てば幸いです!
以上がvueの上下ブレを解除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。