国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Maison interface Web tutoriel CSS Barre de progression de lecture

Barre de progression de lecture

Jan 10, 2025 pm 06:04 PM

Cet extrait de code ajoute une barre de progression de lecture à une page Web. La barre représente visuellement la progression du défilement de l'utilisateur dans la zone de contenu principale. Décomposons son fonctionnement et améliorons-le.

Reading Progress Bar

Le code tente de calculer la progression en fonction de la position de défilement par rapport à la hauteur totale de l'élément main. Cependant, il présente plusieurs problèmes?:

  • Code incomplet?: Le code fourni est tronqué. Il manque la partie cruciale qui crée et met à jour visuellement la barre de progression. Le div est créé, mais aucune logique de mise à jour de style ou de progression n'est présente.
  • Calcul de la hauteur incorrect?: Le calcul de totalHeight peut être inexact en fonction de la structure de la page. L'utilisation de outerHeight(true) inclut des marges, ce qui peut ne pas être souhaité. Il ne tient pas non plus compte du contenu dynamique susceptible de modifier la hauteur après le calcul initial.
  • Manque de mise à jour de la progression?: Il n'y a pas de code pour mettre à jour la barre de progression lorsque l'utilisateur fait défiler. Le calcul n'est effectué qu'une seule fois lorsque le document est prêt.
  • Problème de hauteur du pied de page?: La soustraction footerHeight peut entra?ner un calcul de progression incorrect si le pied de page est corrigé ou chevauche le contenu principal.

Voici une version améliorée qui résout ces problèmes?:

$(document).ready(function() {
  if ($('body').hasClass('single')) {
    const progressBar = $('<div id="reading-progress"></div>');
    $('header').after(progressBar);

    let totalHeight = $('main').height(); // Use height() for more accurate calculation
    let windowHeight = $(window).height();

    $(window).on('scroll', function() {
      let scrollTop = $(this).scrollTop();
      let progress = (scrollTop / (totalHeight - windowHeight)) * 100; // Adjust for window height
      progress = Math.min(progress, 100); // Cap progress at 100%
      $('#reading-progress').css('width', progress + '%');
    });
  }
});

Ce code amélioré?:

  1. Crée une barre de progression?: Il crée dynamiquement un div avec l'ID reading-progress pour faire office de barre de progression.
  2. Utilise height()?: Il utilise height() au lieu de outerHeight(true) pour un calcul plus précis de la hauteur du contenu principal.
  3. Gère les événements de défilement?: Il utilise $(window).on('scroll', ...) pour mettre à jour en permanence la largeur de la barre de progression à mesure que l'utilisateur fait défiler.
  4. Calcule la progression avec précision?: Le calcul de la progression prend en compte la hauteur de la fenêtre visible, empêchant la barre de dépasser 100?%.
  5. Ajoute du CSS (nécessaire)?: Vous devrez ajouter du CSS pour styliser le #reading-progress div. Par exemple?:
#reading-progress {
  height: 5px; /* Adjust height as needed */
  background-color: #007bff; /* Adjust color as needed */
  position: fixed;
  top: 0;
  left: 0;
  width: 0; /* Initially 0% width */
  z-index: 1000; /* Ensure it's on top */
}

N'oubliez pas d'inclure jQuery dans votre projet pour que ce code fonctionne. Ce code révisé fournit une barre de progression de lecture plus robuste et plus précise. D'autres améliorations pourraient inclure la gestion des cas extrêmes et l'ajout d'un style plus sophistiqué.

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!

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

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment puis-je inclure CSS uniquement sur certaines pages? Comment puis-je inclure CSS uniquement sur certaines pages? Jun 11, 2025 am 12:01 AM

Il existe trois fa?ons d'inclure sélectivement CSS sur une page spécifique: 1. CSS en ligne, adapté aux pages qui ne sont pas fréquemment accessibles ou qui nécessitent des styles uniques; 2. Chargez des fichiers CSS externes à l'aide de conditions JavaScript, adaptées aux situations où une flexibilité est requise; 3. CONFIGMENT DU SERVEUR, adapté aux scénarios utilisant les langages c?té serveur. Cette approche peut optimiser les performances du site Web et la maintenabilité, mais nécessite un équilibre de modularité et de performances.

Flexbox vs Grid: Comprendre les principales différences dans la disposition CSS Flexbox vs Grid: Comprendre les principales différences dans la disposition CSS Jun 10, 2025 am 12:03 AM

Flexboxisidealforone-dimensionallayouts, tandis que GridSuitStwo-dimensional, complexlayouts.USEFLEXBOXFORALIGNINGITEMSINASingleAxisandgridForpreciseControlOverrowsandColumnSinIntriciatedEsigns.

Création d'une notification de cl?ture automatique avec un popover HTML Création d'une notification de cl?ture automatique avec un popover HTML Jun 10, 2025 am 09:45 AM

L'attribut HTML Popover transforme les éléments en éléments de couche supérieure qui peuvent être ouverts et fermés avec un bouton ou un javascript. Les popovers peuvent être rejetées de plusieurs fa?ons, mais il n'y a pas de possibilité de les fermer automatiquement. Preethi a une technique tu peux u

Qu'est-ce que le ?rendu CSS bloquant le rendu?? Qu'est-ce que le ?rendu CSS bloquant le rendu?? Jun 24, 2025 am 12:42 AM

CSS bloque le rendu de la page car les navigateurs affichent le CSS en ligne et le CSS externe comme des ressources clés par défaut, en particulier avec les feuilles de styles importées, les grandes quantités de CSS en ligne et les styles de requête multimédia non optimisés. 1. Extraire CSS critique et l'intégrez-la dans HTML; 2. Retard Chargement CSS non critique via JavaScript; 3. Utilisez des attributs multimédias pour optimiser le chargement tel que les styles d'impression; 4. Comprimer et fusionner CSS pour réduire les demandes. Il est recommandé d'utiliser des outils pour extraire les CS de clé, combiner le chargement asynchrone rel = "précharge" et utiliser le chargement retardé des médias raisonnablement pour éviter une division excessive et un contr?le de script complexe.

Comment utiliser les lotties sur Figma Comment utiliser les lotties sur Figma Jun 14, 2025 am 10:17 AM

Dans le tutoriel suivant, je vais vous montrer comment créer des animations Lottie sur Figma. Nous utiliserons deux designs colorés pour expliquer comment vous pouvez animer sur Figma, puis je vais vous montrer comment passer de Figma aux animations Lottie. Tout ce dont vous avez besoin est une figue libre

Bridaries de rupture: construire un puzzle de tangram avec (S) CSS Bridaries de rupture: construire un puzzle de tangram avec (S) CSS Jun 13, 2025 am 11:33 AM

Nous le mettons à l'épreuve et il s'avère que SASS peut remplacer JavaScript, du moins en ce qui concerne la logique de bas niveau et le comportement du puzzle. Avec rien d'autre que des cartes, des mixins, des fonctions et beaucoup de mathématiques, nous avons réussi à donner vie à notre puzzle Tangram, non J

CSS externe vs interne: quelle est la meilleure approche? CSS externe vs interne: quelle est la meilleure approche? Jun 20, 2025 am 12:45 AM

TheBestApproachForCSSDependSonTheproject'sspecificneeds.ForLargerProjects, externalcsisBetterDueTomaintainiabilityAndReUsability; ForsmallerProjectsorSingle-pageApplications, internecssigh

Mon CSS doit-il être en minuscules? Mon CSS doit-il être en minuscules? Jun 19, 2025 am 12:29 AM

NON, CSSDOOSNOTHAVETOBEINLOWLOWERCASE.CI, USING USINGERCASERASERISROMEND pour: 1) Cohérence et réadaptation, 2) évitant les technologies de perception liées à la pertinence, 3) Potentiel PerformanceBenefits, and4) Amélioration de la collaboration.

See all articles