Maison >interface Web >tutoriel CSS >Comment puis-je détecter la visibilité de la barre de défilement dans les éléments HTML à l'aide de jQuery ?

Comment puis-je détecter la visibilité de la barre de défilement dans les éléments HTML à l'aide de jQuery ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-29 00:34:10543parcourir

How Can I Detect Scrollbar Visibility in HTML Elements Using jQuery?

Comment déterminer la visibilité de la barre de défilement dans les éléments HTML

Il est souvent souhaitable d'indiquer visuellement la présence d'une barre de défilement dans un élément div, en particulier lorsque son contenu peut varier en longueur. Cela permet aux utilisateurs d'anticiper le besoin de défilement. Pour résoudre ce problème, l'événement de survol en direct de jQuery peut être exploité pour vérifier la visibilité de la barre de défilement.

Détermination de la visibilité de la barre de défilement

Un plugin personnalisé peut être créé pour vérifier la visibilité de la barre de défilement. Il exploite les propriétés scrollHeight et height pour comparer la hauteur totale de défilement de l'élément à sa hauteur visible. Si le premier dépasse le second, une barre de défilement est présente.

(function($) {
    $.fn.hasScrollBar = function() {
        return this.get(0).scrollHeight > this.height();
    }
})(jQuery);

Ce plugin peut être utilisé en pratique comme suit :

$('#my_div1').hasScrollBar(); // returns true if a vertical scrollbar exists

Considérations

Cette fonction peut détecter les barres de défilement verticales mais peut échouer lorsqu'une barre de défilement horizontale coexiste, entraînant l'apparition d'une barre de défilement verticale. Dans de tels cas, la propriété clientHeight peut être utilisée à la place.

return this.get(0).scrollHeight > this.get(0).clientHeight;

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:
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