Existe-t-il un moyen avec jQuery ou JavaScript de déclencher une fonction lorsque l'utilisateur termine de redimensionner la fenêtre du navigateur?
En d'autres termes:
- Puis-je détecter un événement de montée de la souris lorsque l'utilisateur redimensionne la fenêtre du navigateur? Autrement:
- Puis-je détecter quand une opération de redimensionnement de fenêtre est terminée?
Je ne peux actuellement déclencher un événement que lorsque l'utilisateur commence à redimensionner la fenêtre avec jQuery
javascript
jquery
aneuryzm
la source
la source
Réponses:
Vous pouvez utiliser
.resize()
pour obtenir chaque fois que la largeur / hauteur change réellement, comme ceci:Vous pouvez voir une démonstration de travail ici , il prend les nouvelles valeurs de hauteur / largeur et les met à jour dans la page pour que vous puissiez les voir. Rappelez-vous que l'événement ne commence pas ou ne se termine pas vraiment , il "se produit" juste quand un redimensionnement se produit ... il n'y a rien à dire qu'un autre ne se produira pas.
Edit: Par commentaires, il semble que vous vouliez quelque chose comme un événement "on-end", la solution que vous avez trouvée le fait, à quelques exceptions près (vous ne pouvez pas faire la distinction entre une souris levée et une pause de manière cross-browser, la même chose pour une fin vs une pause ). Vous pouvez cependant créer cet événement, pour le rendre un peu plus propre, comme ceci:
Vous pourriez avoir ceci est un fichier de base quelque part, tout ce que vous voulez faire ... alors vous pouvez vous lier à ce nouvel
resizeEnd
événement que vous déclenchez, comme ceci:Vous pouvez voir une démonstration de travail de cette approche ici
la source
Cela peut être réalisé avec la propriété onresize de l'interface GlobalEventHandlers en JavaScript, en attribuant une fonction à la propriété onresize , comme ceci:
window.onresize = functionRef;
L'extrait de code suivant illustre cela, en consignant les données innerWidth et innerHeight de la fenêtre chaque fois qu'elle est redimensionnée. (L'événement de redimensionnement se déclenche après le redimensionnement de la fenêtre)
la source
Une autre façon de faire cela, en utilisant uniquement JavaScript, serait la suivante:
Cela se déclenche à chaque fois que la taille change, comme l'autre réponse.
functionName
est le nom de la fonction en cours d'exécution lorsque la fenêtre est redimensionnée (les crochets à la fin ne sont pas nécessaires).la source
Si vous souhaitez vérifier uniquement lorsque le défilement est terminé, dans Vanilla JS, vous pouvez proposer une solution comme celle-ci:
Super super compact
Ensemble des 3 combinaisons possibles (ES6)
la source