Maison >interface Web >js tutoriel >Quelle est la différence entre screenX/Y, clientX/Y et pageX/Y dans le développement Web ?

Quelle est la différence entre screenX/Y, clientX/Y et pageX/Y dans le développement Web ?

DDD
DDDoriginal
2024-11-15 08:59:02541parcourir

What's the Difference Between screenX/Y, clientX/Y, and pageX/Y in Web Development?

Comprendre ScreenX/Y, ClientX/Y et PageX/Y

Dans le domaine du développement Web, comprendre les différences entre screenX/ Y, clientX/Y et pageX/Y sont cruciaux pour une navigation et un positionnement précis des éléments sur le page.

Définition des coordonnées

  • pageX/Y : Coordonnées relatives à l'ensemble de la page rendue, y compris les zones masquées par le défilement.
  • clientX/Y : Coordonnées relatives à la partie visible de la page dans la fenêtre du navigateur.
  • screenX/Y : Coordonnées relatives à l'écran physique.

Exemple d'utilisation

Considérons une page Web dont le contenu s'étend au-delà de la fenêtre d'affichage. Lorsqu'un utilisateur fait défiler vers le bas, les valeurs pageY et pageX représenteront toujours la position du curseur de la souris par rapport à la page entière. Cependant, les valeurs clientX et clientY seront mises à jour pour refléter la position dans la zone visible.

Considérations sur iPad Safari

Pour iPad Safari, la fenêtre d'affichage est plus petite que la fenêtre physique. écran. Par conséquent, les coordonnées clientX/Y et pageX/Y différeront des coordonnées screenX/Y.

Démo et extrait de code

Pour illustrer ces différences, vous pouvez visiter la démo fournie ou exécutez l'extrait JavaScript suivant :

document.addEventListener('DOMContentLoaded', () => {
  const info = document.getElementById('info');
  const updateInfo = event => {
    const { clientX, clientY, pageX, pageY } = event;
    info.innerHTML = `clientX: ${clientX} clientY: ${clientY}<br />pageX: ${pageX} pageY: ${pageY}`;
  };
  document.addEventListener('mouseover', updateInfo);
  document.addEventListener('mousemove', updateInfo);
});

Cet extrait illustre la mise à jour dynamique des coordonnées au fur et à mesure que la souris se déplace et fait défiler la page.

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