jQuery scrollTop () renvoie 0 pour tous les éléments

À mon travail, nous avons un site d'une page que j'ai créé avec AngularJS.
Nous sommes à l'aide de l'interface utilisateur-routeur plugin (version 0.2.0).
Récemment, j'ai remarqué que lors du passage d'un état à l'autre, la fenêtre n'est pas défiler vers le haut.
J'ai même essayé de la faire défiler vers le haut manuellement à l'aide de jQuery scrollTop() fonction de chaque changement d'état (à l'aide de la $stateChangeSuccess de l'événement). Mais il ne fonctionne pas.

J'ai donc commencé à enquêter, et j'ai remarqué que scrollTop() est de retour 0 pour chaque élément de la page.
Non seulement cela, mais lorsque j'imprime le window.scrollY à la console j'obtiens 0 (peu importe où je suis sur la page). Pas seulement dans mon code, mais même si je viens de l'écrire dans le chrome dev tools console.

J'ai écrit plusieurs applications avec AngularJS et ui-router, et il ne se produit que dans celui-ci en particulier.

J'ai vérifié pour voir si j'ai écrasé le scrollTop() fonction ou window.scrollY champ, mais n'ai rien trouvé.

J'ai essayé d'utiliser le ui-view avec autoscroll="true" et autoscroll="false"mais il n'a pas fait une différence.

J'ai aussi essayé de donner le html et la body éléments height:100%et j'ai également essayé sans. Mais rien.

Je ne sais vraiment pas quoi faire ensuite.

Je n'ai pas pu reproduire le problème, mais si vous pensez qu'il ya n'importe quel code je dois poster ici qui pourrait vous être d'une quelconque aide, je serai heureux de le faire.

Merci!

EDIT:

J'ai exécuter cette fonction sur la console:

var l = $('*').length;
for(var i = 0; i < l; i++) {
    var elem = $('*:eq(' + i + ')');
    if(elem.scrollTop() > 0) {
        console.log(elem, elem.scrollTop());
    }
}

La fonction imprimer un seul élément avec c'est top de défilement.
L'élément est un emballage div qui contient l'ensemble du contenu et de la vue principale (j'ai vues imbriquées dans mon application).
Si j'utilise scrollTop(0) sur cet élément-je obtenir ce que je voulais, mais il ne traite que le symptôme, et non pas le vrai problème.

source d'informationauteur jonny bordo