ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript でさまざまなブラウザーのスクロール パーセンテージを計算するにはどうすればよいですか?

JavaScript でさまざまなブラウザーのスクロール パーセンテージを計算するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-10-18 17:19:03
オリジナル
934 人が閲覧しました

How to Calculate Scroll Percentage in JavaScript for Different Browsers?

JavaScript でのスクロール パーセンテージの決定: クロスブラウザーのアプローチ

完了した垂直スクロールのパーセンテージを決定する際のブラウザー間の互換性を確保するには、汎用性の高い方法が必要です。 Dojo、jQuery、Prototype、Mootools などのフレームワークが解決策を提供する可能性がありますが、ここではネイティブ JavaScript のアプローチについて詳しく説明します。

ネイティブ JavaScript の実装

「scrollTop」プロパティと「scrollHeight」プロパティを使用する。スクロールの割合は次のように計算できます。

<code class="javascript">var h = document.documentElement, 
b = document.body,
st = 'scrollTop',
sh = 'scrollHeight';

var percent = (h[st]||b[st]) / ((h[sh]||b[sh]) - h.clientHeight) * 100;</code>
ログイン後にコピー

このメソッドは、Chrome、Firefox、IE9 を含むすべての主要なブラウザでのスクロールの割合を効果的に決定します。

jQuery の実装 (元の回答)

ネイティブ ソリューションは効率的ですが、元の回答からの jQuery 実装も提供します。

<code class="javascript">$(window).on('scroll', function(){
  var s = $(window).scrollTop(),
      d = $(document).height(),
      c = $(window).height();

  var scrollPercent = (s / (d - c)) * 100;
});</code>
ログイン後にコピー

注: モバイル ブラウザーでは潜在的な矛盾があります

次のことが重要です。 UI のスクロール時の自動非表示の動作により、提供されている方法は最新のモバイル ブラウザーでは 100% の精度に達しない可能性があることに注意してください。ただし、ほとんどのシナリオでは、さまざまなブラウザーにわたるスクロール率の信頼できる近似値が得られます。

以上がJavaScript でさまざまなブラウザーのスクロール パーセンテージを計算するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート