Maison > interface Web > tutoriel CSS > Comment désactiver les barres de défilement tout en activant le défilement à la molette et aux touches fléchées avec JavaScript ?

Comment désactiver les barres de défilement tout en activant le défilement à la molette et aux touches fléchées avec JavaScript ?

Susan Sarandon
Libérer: 2024-12-10 16:34:11
original
573 Les gens l'ont consulté

How to Disable Scrollbars While Enabling Wheel and Arrow Key Scrolling with JavaScript?

Désactiver les barres de défilement mais autoriser le défilement avec la molette et les touches fléchées avec JavaScript

De nombreuses applications nécessitent la possibilité de désactiver les barres de défilement de la fenêtre d'affichage ou d'éléments spécifiques lors de permettant à l'utilisateur de faire défiler avec la molette de la souris ou les touches fléchées. Pour obtenir cet effet, il faut une combinaison de JavaScript et de CSS.

Pour désactiver les barres de défilement, définissez la propriété CSS overflow : caché. Cela empêchera l'apparition de barres de défilement horizontales et verticales.

Pour le défilement avec la molette de la souris, liez l'écouteur d'événement à l'élément cible. Dans le gestionnaire d'événements, calculez la position de défilement actuelle à l'aide de scrollTop et ajustez-la dynamiquement en fonction de la valeur delta de l'événement de molette de la souris.

Pour le défilement avec les touches fléchées, attachez un écouteur keydown pour gérer les frappes. Capturez les événements des touches fléchées et utilisez scrollTop et scrollLeft pour déplacer l'élément en conséquence. Notez que la gestion des touches fléchées n'est pas prise en charge par la pression sur une touche dans tous les navigateurs ; keydown doit être utilisé à la place.

Par exemple, voici comment gérer le défilement de la molette de la souris à l'aide de jQuery et du plugin mousewheel :

<div>
Copier après la connexion
$("#example").bind("mousewheel", function(ev, delta) {
  var scrollTop = $(this).scrollTop();
  $(this).scrollTop(scrollTop - Math.round(delta));
});
Copier après la connexion

Ajustez les valeurs dans cet exemple si nécessaire, et n'oubliez pas d'inclure les références CSS et JavaScript nécessaires. En combinant ces techniques, vous pouvez créer une expérience de défilement interactive sans barres de défilement visibles.

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