Empecher la repetition d'un setTimeout()
Résolu/Fermé
V4lentin
Messages postés
4
Date d'inscription
mardi 19 janvier 2021
Statut
Membre
Dernière intervention
21 janvier 2021
-
Modifié le 19 janv. 2021 à 15:25
V4lentin Messages postés 4 Date d'inscription mardi 19 janvier 2021 Statut Membre Dernière intervention 21 janvier 2021 - 21 janv. 2021 à 11:35
V4lentin Messages postés 4 Date d'inscription mardi 19 janvier 2021 Statut Membre Dernière intervention 21 janvier 2021 - 21 janv. 2021 à 11:35
A voir également:
- Empecher la repetition d'un setTimeout()
- Excel empêcher modification cellule - Guide
- Un bloqueur de publicité empêche la lecture. veuillez le désactiver pour démarrer la vidéo - Forum Réseaux sociaux
- Un bloqueur de publicité empêche la lecture. Veuillez le désacti - Forum Logiciels
- Vos paramètres de sécurité internet ont empêché l'ouverture d'un ou plusieurs fichiers ✓ - Forum Windows 7
- Comment empecher bing de s'ouvrir - Forum Microsoft Edge / Internet Explorer
5 réponses
jordane45
Messages postés
38346
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 décembre 2024
4 718
19 janv. 2021 à 15:57
19 janv. 2021 à 15:57
Je pense que tu pourrais vérifier via un IF si ton opacity est déjà à 0 ou non avant de déclencher l'appel du setTimeOut
V4lentin
Messages postés
4
Date d'inscription
mardi 19 janvier 2021
Statut
Membre
Dernière intervention
21 janvier 2021
20 janv. 2021 à 14:09
20 janv. 2021 à 14:09
Non j'ai essayé et ça ne marche pas.
En fait mon problème c'est que j'ai plusieurs setTimeout qui se lance en même temps et donc j'aimerais que quand scrollY > 50 j'annule le setTimeout qui c'est activer au préalable.
En fait mon problème c'est que j'ai plusieurs setTimeout qui se lance en même temps et donc j'aimerais que quand scrollY > 50 j'annule le setTimeout qui c'est activer au préalable.
jordane45
Messages postés
38346
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 décembre 2024
4 718
20 janv. 2021 à 15:27
20 janv. 2021 à 15:27
V4lentin
Messages postés
4
Date d'inscription
mardi 19 janvier 2021
Statut
Membre
Dernière intervention
21 janvier 2021
Modifié le 20 janv. 2021 à 19:35
Modifié le 20 janv. 2021 à 19:35
Salut, je me suis pencher sur le lien que tu m'as envoyer, j'ai fais quelques recherches et puis j'ai écrit se programme
Mais mon clearTimeout ne marche pas et je ne comprends pas pourquoi.
<script> const image = document.querySelector('#mon-image') window.addEventListener('scroll', () => { if(window.scrollY < 50){ var delay = setTimeout(function(){image.classList.add('fondu') ;}, 4000); } else{ image.classList.remove('fondu'); clearTimeout(delay); } }) </script>
Mais mon clearTimeout ne marche pas et je ne comprends pas pourquoi.
jordane45
Messages postés
38346
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 décembre 2024
4 718
20 janv. 2021 à 20:31
20 janv. 2021 à 20:31
pas testé... mais moi je ferai un truc du genre ( pour éviter de générer plusieurs fois ton settimeout )
en gros... comme dans le second exemple de la page que je t'ai donné .....
const image = document.querySelector('#mon-image'); var dejalance = false; var delay ; function addFondu(){ if(dejalance == false ){ dejalance = true; delay= setTimeout(function(){image.classList.add('fondu') ;}, 4000); } } window.addEventListener('scroll', () => { if(window.scrollY < 50){ addFondu(); } else { image.classList.remove('fondu'); clearTimeout(delay); dejalance = false; } });
en gros... comme dans le second exemple de la page que je t'ai donné .....
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
V4lentin
Messages postés
4
Date d'inscription
mardi 19 janvier 2021
Statut
Membre
Dernière intervention
21 janvier 2021
21 janv. 2021 à 11:35
21 janv. 2021 à 11:35
Merci mec, le programme fonctionne parfaitement et c'était exactement ce que je cherchais.