J'ai un travail de positionnement div qui est déclenché par l'événement scroll. Qu'est-ce qui se passe que l'événement de défilement se déclenche un tas de fois qui se traduit par un div scintillant. Mon plan est de faire disparaître ce div et de revenir en arrière dès que plus aucun événement de défilement n'est déclenché. Comment puis-je vérifier que le défilement est terminé? J'ai pensé à une combinaison de timeout < -> scroll mais en fait rien n'a fonctionné comme je l'espérais. Voici ce que j'ai eu jusqu'ici.jQuery - fadeOut on Scroll/fondu sur "scrollstop"
$(document).ready(function(){
//var animActive = false;
$(window).scroll(function() {
/*
if (animActive == false){
animActive = true;
$('.mceExternalToolbar').fadeOut(100, function() {
$('.mceExternalToolbar').fadeIn(3000, function() {
animActive = false;
console.log("NOW");
});
});
}
*/
topParentx = $('#tinyMCEwrapper').position().top;
if ($(this).scrollTop() >= topParentx){
$('.mceExternalToolbar').css('top', ($(this).scrollTop()-topParentx) + "px");
} else {
$('.mceExternalToolbar').css('top', "0px");
};
});
});
Comme vous pouvez le voir je suis parti un de mes dernières tentatives là-dedans, mais les callbacks de la fonction de fondu ne fonctionne pas comme prévu.
Hey thx ... Ce isnt ce que je prévoyais, mais je dois admettre que son travail beaucoup mieux ... Surtout jamais trébuché sur la fonction stop() avant qui est très très pratique dans ce cas .. . je vous remercie ... Pour votre exemple travailler avec ma version de jquery un rapide coup d'oeil dans la référence wwas nécessaire parce que la définition doit être css appelé: \t \t \t $ ('mceExternalToolbar.) stop(). .animate ({top: topTarget}, 200); Merci !!! Cela m'a beaucoup aidé!!! – Bosh
Heureux que cela a fonctionné pour vous, merci pour la mise à jour et le correctif de code. J'ai mis à jour mon code. – joshperry