Comment se produisent $ ('html'). Animate () ne fonctionne que dans IE et $ ('body'). Animate () est-il nécessaire pour Chrome / Safari?

Je dois utiliser $('html, body').animate() pour rendre l'extrait entièrement compatible avec le navigateur, mais cela est gênant lors du chaînage des animations, car ils agissent parfois sur <html> et <body> .

IE8 dépend d'avoir «html» alors que Chrome ou Safari dépendent d'avoir «corps», donc je dois inclure les deux.

Pourquoi l'écart?

Je pense que c'est parce que les barres de défilement (que je présume que vous animiez) sont intégrées dans le navigateur à différents endroits. J'ai eu ce problème avant et j'ai dû utiliser la même méthode que vous incorporez. Un peu ennuyeux, mais il en est de même pour la plupart des choses quand vous voulez qu'ils fonctionnent dans tous les navigateurs 🙂

Vous ne devriez jamais faire $('html').animate car vous ne devez animer que le contenu et la balise html n'est pas une étiquette de contenu. Stick with $('body').animate et devrait fonctionner dans tous les navigateurs.