Bonjour à tous,
j'aimerais mettre en place une animation de différents éléments dans une page. Le but étant d'avoir l'animation qui début lorsque que le scroll de la page arrive à un certain niveau de ces éléments.
Le problème, c'est que l'animation se répète a chaque évènement "scroll" alors que j'aimerais qu'une fois l'animation terminée, elle s'arrête (logique ^^).
Voici le bout de code que j'ai mis en place :
$(document).ready(function(){
$(window).scroll(function(e){
$('.animated-div').each(function(){
if($(window).height() + $(window).scrollTop() - $(this).offset().top > 0){
$(this).trigger("animation");
}
});
});
$('.animated-div').on('animation', function(){
var that = $(this);
that.find('.animated').each(function(){
$(this).velocity('fadeIn', {
duration: 600,
delay: 700
});
});
});
});
Merci d'avance pour votre aide ;)
Plusieurs plugins permettent d'implémenter ce genre de comportement. J'en ai trouvé deux (mais je ne sais pas si c'est vraiment ce que tu veux).
scrollReveal.js
http://www.jqueryrain.com/?RDqj9qEb
scrollMagic.js (un peu moins bien à mon goût)
http://www.jqueryrain.com/?acp0isGT
Mais il en existe certainement d'autres.
Merci pour ta réponse chatoninja ;)
Je vais voir avec ces plugins mais je pense qu'il y a possibilité de le faire sans (et éviter les usines à gaz ^^)