Maison interface Web js tutoriel Quelles propriétés JS possède-t-il pour déterminer s'il y a une barre de défilement sur la page ?

Quelles propriétés JS possède-t-il pour déterminer s'il y a une barre de défilement sur la page ?

May 02, 2018 am 10:46 AM
javascript 判断 页面

Cette fois, je vais vous montrer quels attributs de JS peuvent être utilisés pour déterminer s'il y a une barre de défilement sur la page. Quelles sont les précautions pour que JS détermine s'il y a une barre de défilement sur la page. page. Voici un cas pratique, jetons un oeil.

Préface

Récemment, en train d'écrire un plug-in, j'ai besoin d'utiliser JS pour déterminer s'il existe une barre de défilement. Je l'ai recherché et trouvé cela. les méthodes sont fondamentalement les mêmes, mais elles sont toutes un peu verbeuses. Le code n'est pas assez concis. Finalement, en me référant à différentes méthodes, j’ai écrit une méthode relativement simple. Lorsque vous jugez la barre de défilement, vous devez également calculer la largeur de la barre de défilement. Je la partagerai avec vous à travers cet article.

Pourquoi devrions-nous juger la barre de défilement

La nécessité de juger la barre de défilement est souvent utilisée dans les plug-ins de fenêtres pop-up, car la plupart des pop-ups -up windows ajoutera l'attribut <a href="http://www.php.cn/wiki/923.html" target="_blank">overflow<code><a href="http://www.php.cn/wiki/923.html" target="_blank">overflow</a>: hidden  : caché , si la page est relativement long, ajoutez cet attribut La page va trembler.

Afin d'améliorer l'expérience utilisateur, ajoutez une <a href="http://www.php.cn/wiki/937.html" target="_blank">marge en déterminant s'il y a est un attribut de barre de défilement. -left<code><a href="http://www.php.cn/wiki/937.html" target="_blank">margin-left</a> pour décaler la position de la barre de défilement après overflow: hidden .

Comment déterminer s'il y a une barre de défilement

En fait, cela ne nécessite qu'une seule ligne de JS Le test est compatible avec IE7

function hasScrollbar() {
  return document.body.scrollHeight > (window.innerHeight || document.documentElement.clientHeight);
}
Copier après la connexion

En général, l'utilisation document.body.scrollHeight > window.innerHeight  peut être jugée.

Mais dans IE7 et IE8, window.innerHeight  est underfined, donc pour être compatible avec IE7 et IE8, vous devez utiliser l'attribut document.documentElement.clientHeight  pour calculer la hauteur de la fenêtre.

La méthode de calcul de la largeur de la barre de défilement

prend toujours la fenêtre pop-up comme exemple, car les barres de défilement d'IE 10 et supérieur et mobile les navigateurs n'occupent pas la largeur de la page. Style transparent (les navigateurs IE 10 et supérieurs peuvent restaurer le style de barre de défilement d'origine via les propriétés CSS), donc afin d'améliorer encore l'expérience utilisateur, nous devons également calculer la largeur de la barre de défilement et ajoutez une valeur margin-left raisonnable selon la situation.

La méthode de calcul de la largeur de la barre de défilement est relativement simple. Créez un nouvel élément p avec une barre de défilement et utilisez la différence entre les éléments offsetWidth et clientWidth . Obtenez, j'apprendrai de la méthode dans Magnific-popup

function getScrollbarWidth() {
  var scrollp = document.createElement("p");
  scrollp.style.cssText = 'width: 99px; height: 99px; overflow: scroll; position: absolute; top: -9999px;';
  document.body.appendChild(scrollp);
  var scrollbarWidth = scrollp.offsetWidth - scrollp.clientWidth;
  document.body.removeChild(scrollp);
  return scrollbarWidth;
}
Copier après la connexion

Résumé

Il n'est peut-être pas difficile d'implémenter une fonction en utilisant JS, mais en tant que programmeur vous devez toujours réfléchir à la manière de mettre en œuvre cette fonction de manière plus simple et plus élégante, et toujours continuer à améliorer l'expérience utilisateur comme principe. Pour le jugement conditionnel , peut-être dix lignes de jugement logique ne nécessiteront qu'une seule ligne. J'ai été profondément impressionné récemment, et je dois être doué pour utiliser des expressions ternaires au lieu de if..else pour. rationaliser le code.

Le principe est de juger si la hauteur du document est supérieure à la hauteur de la zone visuelle.

Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour des informations plus intéressantes, veuillez prêter attention aux autres articles connexes sur le site Web chinois de php !

Lecture recommandée :

Explication détaillée des étapes de déploiement de nginx pour le projet vue.js

Six algorithmes de tri JS couramment utilisés et comparaison

Instructions d'utilisation du mécanisme de chargement dans le code source du webpack

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

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.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

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 copier une page dans Word Comment copier une page dans Word Feb 20, 2024 am 10:09 AM

Vous souhaitez copier une page dans Microsoft Word et conserver la mise en forme intacte ? C'est une bonne idée car la duplication de pages dans Word peut être une technique utile pour gagner du temps lorsque vous souhaitez créer plusieurs copies d'une mise en page ou d'un format de document spécifique. Ce guide vous guidera pas à pas à travers le processus de copie de pages dans Word, que vous créiez un modèle ou que vous copiez une page spécifique dans un document. Ces instructions simples sont conçues pour vous aider à recréer facilement votre page sans avoir à repartir de zéro. Pourquoi copier des pages dans Microsoft Word ? Il existe plusieurs raisons pour lesquelles copier des pages dans Word est très bénéfique : Lorsque vous souhaitez copier un document avec une mise en page ou un format spécifique. Contrairement à la recréation de la page entière à partir de zéro

WebSocket et JavaScript : technologies clés pour mettre en œuvre des systèmes de surveillance en temps réel WebSocket et JavaScript : technologies clés pour mettre en œuvre des systèmes de surveillance en temps réel Dec 17, 2023 pm 05:30 PM

WebSocket et JavaScript : technologies clés pour réaliser des systèmes de surveillance en temps réel Introduction : Avec le développement rapide de la technologie Internet, les systèmes de surveillance en temps réel ont été largement utilisés dans divers domaines. L'une des technologies clés pour réaliser une surveillance en temps réel est la combinaison de WebSocket et de JavaScript. Cet article présentera l'application de WebSocket et JavaScript dans les systèmes de surveillance en temps réel, donnera des exemples de code et expliquera leurs principes de mise en œuvre en détail. 1. Technologie WebSocket

Comment actualiser rapidement une page Web ? Comment actualiser rapidement une page Web ? Feb 18, 2024 pm 01:14 PM

L'actualisation des pages est très courante dans notre utilisation quotidienne du réseau. Lorsque nous visitons une page Web, nous rencontrons parfois certains problèmes, comme la page Web qui ne se charge pas ou ne s'affiche pas anormalement, etc. À ce stade, nous choisissons généralement d'actualiser la page pour résoudre le problème, alors comment actualiser la page rapidement ? Discutons des touches de raccourci pour l'actualisation de la page. La touche de raccourci d'actualisation de page est une méthode permettant d'actualiser rapidement la page Web actuelle via des opérations au clavier. Dans différents systèmes d'exploitation et navigateurs, les touches de raccourci pour l'actualisation de la page peuvent être différentes. Ci-dessous, nous utilisons le W commun

Comment implémenter le saut de page en 3 secondes : Guide de programmation PHP Comment implémenter le saut de page en 3 secondes : Guide de programmation PHP Mar 25, 2024 am 10:42 AM

Titre : Méthode d'implémentation du saut de page en 3 secondes : Guide de programmation PHP Dans le développement web, le saut de page est une opération courante. Généralement, nous utilisons des balises méta dans les méthodes HTML ou JavaScript pour accéder aux pages. Cependant, dans certains cas précis, nous devons effectuer des sauts de page côté serveur. Cet article expliquera comment utiliser la programmation PHP pour implémenter une fonction qui accède automatiquement à une page spécifiée dans les 3 secondes, et donnera également des exemples de code spécifiques. Le principe de base du saut de page en utilisant PHP PHP est une sorte de.

Comment résoudre le problème selon lequel la page Laravel ne peut pas afficher correctement le CSS Comment résoudre le problème selon lequel la page Laravel ne peut pas afficher correctement le CSS Mar 10, 2024 am 11:33 AM

"Comment gérer l'échec des pages Laravel à afficher correctement les CSS, des exemples de code spécifiques sont requis" Lorsque vous utilisez le framework Laravel pour développer des applications Web, vous rencontrerez parfois le problème que la page ne peut pas afficher correctement les styles CSS, ce qui peut provoquer le page pour afficher des styles anormaux. Affecte l’expérience utilisateur. Cet article présentera quelques méthodes pour gérer l'échec des pages Laravel à afficher correctement le CSS et fournira des exemples de code spécifiques pour aider les développeurs à résoudre ce problème courant. 1. Vérifiez le chemin du fichier. Vérifiez d’abord le chemin du fichier CSS.

Tutoriel JavaScript simple : Comment obtenir le code d'état HTTP Tutoriel JavaScript simple : Comment obtenir le code d'état HTTP Jan 05, 2024 pm 06:08 PM

Tutoriel JavaScript : Comment obtenir le code d'état HTTP, des exemples de code spécifiques sont requis Préface : Dans le développement Web, l'interaction des données avec le serveur est souvent impliquée. Lors de la communication avec le serveur, nous devons souvent obtenir le code d'état HTTP renvoyé pour déterminer si l'opération a réussi et effectuer le traitement correspondant en fonction de différents codes d'état. Cet article vous apprendra comment utiliser JavaScript pour obtenir des codes d'état HTTP et fournira quelques exemples de codes pratiques. Utilisation de XMLHttpRequest

Comment déterminer si une date est la veille en langage Go ? Comment déterminer si une date est la veille en langage Go ? Mar 24, 2024 am 10:09 AM

Question : Comment déterminer si la date est la veille en langage Go ? Dans le développement quotidien, nous rencontrons souvent des situations où nous devons déterminer si la date correspond à la veille. Dans le langage Go, nous pouvons implémenter cette fonction via le calcul du temps. Ce qui suit sera combiné avec des exemples de code spécifiques pour montrer comment déterminer si la date correspond au jour précédent en langage Go. Tout d'abord, nous devons importer le package time dans le langage Go. Le code est le suivant : import("time") Ensuite, nous définissons une fonction IsYest.

Introduction à la suppression d'une page de contenu dans Word Introduction à la suppression d'une page de contenu dans Word Mar 26, 2024 am 10:06 AM

Titre : Introduction à la suppression d'une page de contenu dans Word Lors de la modification d'un document à l'aide de Microsoft Word, vous pouvez parfois rencontrer une situation dans laquelle vous devez supprimer le contenu d'une certaine page. Vous souhaiterez peut-être supprimer une page vierge ou un contenu inutile. sur une certaine page du document. En réponse à cette situation, nous pouvons adopter certaines méthodes pour supprimer rapidement et efficacement une page de contenu. Ensuite, quelques méthodes pour supprimer une page de contenu dans Microsoft Word seront présentées. Méthode 1 : Supprimer le contenu d'une page Tout d'abord, ouvrez le document Word qui doit être modifié. Certainement

See all articles