Bonjour,
Voila je rencontre un petit problème avec mon code. Je dispose d'une fonction qui réalise un calcul à chaque appel.
Au chargement de la page, cette fonction s'exécute. A chaque scroll ou redemensionnement de la page, cette dernière se réexécute et donc, plante le site et son exécution correcte. Pour le scroll, je pense être arrivé à réssoudre une partie du soucis, mais le hic, c'est que s'il y a trop de va et vient dans le scroll, le script est exécuté indéfiniment. Normal!
Voici mon code lié au scroll:
var isScroll = 0;
$(window).scroll(function() {
var scroll = $(window).scrollTop();
if (scroll > 0 && isScroll == 0)
{
$(".menu").addClass("header_scrolled");
isScroll = 1;
navigatize();
}
if (scroll == 0 && isScroll == 1)
{
$(".menu").removeClass("header_scrolled");
isScroll = 0;
navigatize();
}
});
Je cherche un moyen d'annuler, l'exécution de la fonction précédente lorsque la fonction est à nouveau exécuté pour éviter l'exécution à la suite et de manière indéfiniment la même fonction.
Si vous avez des questions, je suis là.
Merci d'avance.
Salut,
on appelle ça de la réentrance ;)
un truc comme ça ;)
var isScroll = 0;
var present = 0;
$(window).scroll(function() {
present ++;
if(present > 1){
return;
}
var scroll = $(window).scrollTop();
if (scroll > 0 && isScroll == 0)
{
$(".menu").addClass("header_scrolled");
isScroll = 1;
navigatize();
}
if (scroll == 0 && isScroll == 1)
{
$(".menu").removeClass("header_scrolled");
isScroll = 0;
navigatize();
}
present = 0;
});
@plus
Pierre