Maison > interface Web > js tutoriel > Comment puis-je obtenir les dimensions des barres de défilement du navigateur à l'aide de JavaScript ?

Comment puis-je obtenir les dimensions des barres de défilement du navigateur à l'aide de JavaScript ?

Patricia Arquette
Libérer: 2024-11-27 22:01:11
original
715 Les gens l'ont consulté

How Can I Get the Dimensions of Browser Scrollbars Using JavaScript?

Obtention des dimensions des barres de défilement du navigateur en JavaScript

La détermination des dimensions des barres de défilement dans un navigateur est essentielle pour créer des pages Web dynamiques. Cet article explore une méthode pour déterminer la hauteur des barres de défilement horizontales et la largeur des barres de défilement verticales à l'aide de JavaScript.

Solution :

L'extrait de code fourni ci-dessous calcule la largeur de une barre de défilement verticale utilisant un astucieux technique.

function getScrollBarWidth() {
  // Create elements to measure scrollbar size
  var inner = document.createElement('p');
  inner.style.width = "100%";
  inner.style.height = "200px";

  var outer = document.createElement('div');
  outer.style.position = "absolute";
  outer.style.top = "0px";
  outer.style.left = "0px";
  outer.style.visibility = "hidden";
  outer.style.width = "200px";
  outer.style.height = "150px";
  outer.style.overflow = "hidden";
  outer.appendChild(inner);

  // Add elements to the DOM
  document.body.appendChild(outer);

  // Calculate scrollbar width
  var w1 = inner.offsetWidth;
  outer.style.overflow = 'scroll';
  var w2 = inner.offsetWidth;
  if (w1 == w2) w2 = outer.clientWidth;

  // Remove elements from the DOM
  document.body.removeChild(outer);

  // Return scrollbar width
  return (w1 - w2);
}
Copier après la connexion

Explication :

Cette fonction crée deux éléments, un élément intérieur (inner) et un élément extérieur (externe). L'élément interne a une taille fixe tandis que l'élément externe n'a pas de propriété de débordement définie. La différence de largeur entre ces éléments après activation du débordement sur l'élément extérieur représente la largeur de la barre de défilement verticale.

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.cn
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal