en chrome et safari, dans IE et FF, rien ne se passe. P>
dans IE et FF, Y a-t-il un moyen cohérent de définir la propriété ScrollTop qui fonctionne avec le navigateur croisé, et sinon, pourquoi ne pas JQuery résumé cela? P>
J'aimerais aussi l'animer, ce qui fonctionne bien en chrome et en safari, mais pas dans les autres navigateurs. P>
est ma seule option pour la détection de navigateur? (mauvaise pratique) ou y a-t-il un meilleur moyen? P> $ ("corps"). Scrolltop (1000) code> va si attendu. p>
$ (fenêtre) .scrolltop (1000) code> fonctionne, mais ils vont à différents endroits. Cela fonctionne également à Chrome et à Safari, mais ils vont également à un endroit différent. Ils semblent être jusqu'à 300-500 pixels éteints. P>
3 Réponses :
Essayez
navigateurs WebKit (Chrome / Safari, Mac et Win) Utilisez «Corps», d'autres (FF / Opera / IE 7-9) Utilisez «HTML» P>
Détection de navigateur d'amour de Gotta. P> $ (jquery.browser.webkit? "corps": "html"). Animate ({Scrolltop: MyTop}, MyDUR); Code> P>
jquery.browser est obsolète depuis la version 1.3 et retiré de 1,9
Vous devez appliquer ScrollTop code> sur
Corps code> ou
html code> en fonction du navigateur, mais il n'y a pas de mal à l'appliquer aux deux. Etant donné que
.scrolltop () code> s'applique à l'élément premier em> dans l'ensemble, mais
.animer () code> s'applique à tous les éléments, vous pouvez le faire:
$('body, html').each(function() { $(this).scrollTop(1000); });
Notez que si animate code> a une fonction de rappel, elle est exécutée deux fois. Cela peut être une douleur lorsque vous poussez à l'histoire API, et al.
Avez-vous essayé d'utiliser $ (document) .scrolltop ("...")?
Cela a effectivement travaillé. J'avais essayé $ («document») mais cela n'a pas. Si vous répondez comme une question, je vous donnerai du crédit.