JQuery: fonction utilisable qu'une fois
Résolu
Takushi
Messages postés
2
Statut
Membre
-
Takushi Messages postés 2 Statut Membre -
Takushi Messages postés 2 Statut Membre -
Bonjour, j'aimerais pouvoir lancer une fonction qu'une seule fois dans ma page. Je m'explique:
J'ai 4 blocs sur mon site. Chacun d'eux est caché et n'apparaissent que lorsque l'on scroll assez bas dans la fenêtre.
Ils apparaissent avec une ou plusieurs animations jQuery suivant leur contenu.
Mon problème est que lorsque je remonte dans la page et re-descend, le fonction qui est censée faire apparaitre ces blocs se relance.
J'aimerais donc trouver un moyen de ne lancer cette fonction qu'une seule fois.
J'ai fait pas mal de recherche sur internet sans vraiment trouver de réponse à mon problème. La plupart des sujets nous conseillent l'utilisation de .die(); mais dans mon cas, c'est une fonction que j'aimerais désactiver et pas une action comme 'click' ou 'hover'.
Voici mon code:
(J'ai réduit le code à l'essentiel)
J'ai aussi essayer de déclarer une variable comme ceci sans résultat:
Merci d'avance pour votre aide.
J'ai 4 blocs sur mon site. Chacun d'eux est caché et n'apparaissent que lorsque l'on scroll assez bas dans la fenêtre.
Ils apparaissent avec une ou plusieurs animations jQuery suivant leur contenu.
Mon problème est que lorsque je remonte dans la page et re-descend, le fonction qui est censée faire apparaitre ces blocs se relance.
J'aimerais donc trouver un moyen de ne lancer cette fonction qu'une seule fois.
J'ai fait pas mal de recherche sur internet sans vraiment trouver de réponse à mon problème. La plupart des sujets nous conseillent l'utilisation de .die(); mais dans mon cas, c'est une fonction que j'aimerais désactiver et pas une action comme 'click' ou 'hover'.
Voici mon code:
$('section .wrap').css('opacity','0'); // Cacher les sections $(window).scroll(function(){ display(); }); // Lancer la fonction display() lors du scroll display(); // Lancer la fonction display() au chargement de la page // Fonction qui affiche les sections suivant la position du scroll function display(){ posScroll = $(document).scrollTop(); if(posScroll >= 0){ accueil(); } if(posScroll >= 80){ produit(); } } function accueil(){ $('#Accueil .wrap').animate({opacity:1},800); } function produit(){ $('#Produit .wrap').animate({opacity:1},800); }
(J'ai réduit le code à l'essentiel)
J'ai aussi essayer de déclarer une variable comme ceci sans résultat:
function display(){ var util1 = 0, util2 = 0; if(posScroll >= 0){ if(util1 == 0){ accueil(); util1++; } } if(posScroll >= 80){ if(util2 == 0){ produt(); util2++; } } }
Merci d'avance pour votre aide.
A voir également:
- JQuery: fonction utilisable qu'une fois
- Probleme de cohabitation de jquery - Forum Javascript
- Afficher et cacher en jquery ✓ - Forum Javascript
- La faille csrf en jquery ? - Forum Javascript
- Problème requête Ajax avec jquery ✓ - Forum Webmastering
- Probleme de scope en jQuery. je conprend pas, ✓ - Forum Javascript