Quand j'appelle $("body").animate({scrollTop: someValue});
je veux que $(window).scroll(function() { });
soit aussi appelé. Comment puis-je y parvenir?
J'ai essayé avec $(window).trigger("scroll")
et $(window).triggerHandler("scroll")
sans succès.
EDIT: Problème résolu. Il y avait un if
dans ma $(window).scroll(function() { });
qui a causé le problème.
Utilisez simplement:
// Trigger the scroll event
$(window).scroll();
La source:
Appliquez-le à la fois body
et html
car il n'est pas cohérent .. ( par exemple, FF utilise le html
pour faire défiler tandis que chrome utilise le body
)
$("html, body").animate({scrollTop: someValue});
démo sur http://jsfiddle.net/vzyVh/
Vous pouvez essayer ci-dessous le code - ici je défile vers le haut de ma balise div qui a l'ID "un".
$('html,body').animate({ scrollTop: $('#one').offset().top }, 'slow');