web-dev-qa-db-fra.com

Déclenchez $ (window) .scroll ();

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.

Le code

EDIT: Problème résolu. Il y avait un if dans ma $(window).scroll(function() { }); qui a causé le problème.

22
Sawny

Utilisez simplement:

// Trigger the scroll event
$(window).scroll();

La source:

47
Vinícius Hipólito

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/

8
Gabriele Petrioli

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');
2
user3059993