Maison > interface Web > js tutoriel > le corps du texte

Comment déterminer avec précision le pourcentage de défilement vertical en JavaScript dans les navigateurs ?

DDD
Libérer: 2024-10-18 17:18:30
original
508 Les gens l'ont consulté

How to Accurately Determine Vertical Scroll Percentage in JavaScript Across Browsers?

Détermination du pourcentage de défilement vertical entre navigateurs en JavaScript

Dans le développement Web, il est souvent essentiel de surveiller la position de défilement vertical des utilisateurs. Cependant, trouver une méthode précise et compatible avec tous les navigateurs peut s'avérer difficile.

Solution multi-navigateurs

L'extrait de code fourni offre une approche multi-navigateurs pour calculer le pourcentage de défilement vertical :

<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>
Copier après la connexion

Ce code peut être implémenté en stockant les éléments HTML et body dans les variables h et b, ainsi que les noms de chaîne pour scrollTop et scrollHeight (st et sh). Le pourcentage de défilement est ensuite calculé en divisant la position de défilement vertical actuelle par la hauteur de la fenêtre d'affichage, mise à l'échelle à 100 %.

Implémentation de jQuery

Pour ceux qui préfèrent jQuery, le code suivant peut être utilisé :

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

  var scrollPercent = (s / (d - c)) * 100;
  
  console.clear();
  console.log(scrollPercent);
});</code>
Copier après la connexion

Mise en garde

Il convient de noter que cette solution peut ne pas atteindre 100 % sur les navigateurs mobiles modernes en raison du comportement de masquage automatique des interfaces utilisateur des navigateurs.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal