JS はスクロールのカスタムスクロール効果を実装します
Jan 15, 2018 pm 01:16 PMこの記事では、JS を使用してスクロールのカスタム スクロール効果を実装する方法について主に紹介し、サンプル コードを通じて詳細に紹介します。この記事は、学習や仕事に必要な学習に役立ちます。以下、一緒に学びましょう。皆さんのお役に立てれば幸いです。
まえがき
最近、会社でプロジェクトを開発していたところ、ネイティブのスクロールバーの一部が細かい制御用にカスタマイズできなかったので、better-scrollに似たブラウザのスクロール監視のJS実装を開発しました。以下では、スクロールのカスタマイズに必要な考慮事項とそのプロセスについて説明します。多くを語る必要はありません。詳細な紹介を見てみましょう。
スクロール監視イベントを選択します
これは携帯電話上のカスタム スクロール イベントであるため、監視を実装するために携帯電話上の 3 つのタッチ イベントを監視することを選択し、2 つのスクロール効果を実装しました。1 つは -webkit-transform によるもので、 1 つは、top 属性を介したものです。 2 つの実装はスクロールの基本的な効果を実現できますが、top はスクロール中のスクロールには適していませんが、スクロールの postion:fixed 属性の問題は解決できますが、transform はスクロール中のスクロールを実現できますが、次の問題は解決できません。 :問題を修正したので、最終的にはどの実装方法を使用するかを選択的に検討します。
主にビジネス ロジックを実装します
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
|
コード解釈: これは touchmove イベントをリッスンするためのコールバックであり、主にターゲット ノードの先頭 this.$el または -webkit-transform のtranslateY の値を計算します。計算の基準は主にイベントノードのscreenYの垂直移動距離を基準として使用されます。もちろん、移動が最大値と最小値を超えることができるかどうかを判断する必要があります。一定距離離れると1/3の移動計算が加算されます。ここでの主なものは断続スクロールの判断と計算であり、これは主に慣性スクロールとして機能し、慣性スクロールの値をより正確にすることを目的としています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
|
コード解釈: これはタッチエンド イベント監視のコールバックであり、クリック イベントとタップ イベントをインターセプトするかどうかを決定する必要があり、慣性イージング値を計算し、最終的な最大値と最小値を設定し、アニメーション効果と緩和効果。ローリングローリングの計算について話しましょう:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
|
コード解釈: ローリングローリングのアルゴリズムは、主に距離と時間に基づいて初速度を計算し、元のローリングの加速度に基づいてローリングの総変位を計算します。 0.006。ここで重要なのは300msの経験値を判断することです。
概要
これは一般的なプロセスと考え方です。拡張のために将来さらに多くの機能が追加される予定です
Git アドレスを添付します: https://github.com/yejiaming/scroll
関連する推奨事項:
jQueryスクロールプラグインscrollable.jsの使用分析について
WeChatアプレットのスクロールビューコンポーネントの詳細な説明
vueはベタースクロールを使用してカルーセル画像とページスクロールを実装します
以上がJS はスクロールのカスタムスクロール効果を実装しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

人気の記事

人気の記事

ホットな記事タグ

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法

WebSocket と JavaScript: リアルタイム監視システムを実装するための主要テクノロジー

WebSocketとJavaScriptを使ったオンライン予約システムの実装方法

ExcelでX軸とY軸をカスタマイズするにはどうすればよいですか? (Excelの軸スケールをカスタマイズする方法)

JavaScript と WebSocket を使用してリアルタイムのオンライン注文システムを実装する方法
