ScrollLeft et ScrollTop sur Ipad en utilisant animate chain (jQuery)

Je ne comprends pas pourquoi, dans tous les navigateurs récents, mon code fonctionne, et non sur iPad, il ne fonctionne qu’à mi-chemin.

Premièrement, voici le site que je tente de faire fonctionner: http://madovar.com

J’essaie, lorsque je clique sur le lien de contact en haut, de faire défiler vers la droite, puis vers le bas, en utilisant animate à partir de jQuery, cela fonctionne très bien dans FF, IE8 + et chrome, Safari.

Mais lorsque je suis sur l’iPad, il passe à droite comme il est supposé, puis commence à faire défiler un peu vers le bas et va directement à gauche, puis anime le défilement vers le bas pour une partie vide de mon code.

Voici mon script:

jQuery(document).ready(function($) { $('.contact').bind('click', function (event) { $('html, body').animate({ scrollLeft: "+=2200" }, 1500, 'easeInOutExpo').delay(400).animate({ scrollTop: "+=2000" }, 3000, 'easeInSine'); event.preventDefault(); }); }); 

S’il vous plaît aidez-moi, j’ai chercher sur Internet et Stackoverflow pour cela.

Merci

J’ai eu ce problème récemment. Apparemment, il y a un bogue dans Mobile Safari, qui empêche l’animation de scrollTop et de scrollLeft sur les éléments body ou html . Un correctif inter-navigateur, que j’ai trouvé dans une autre réponse StackOverflow (le lien ne peut pas être trouvé maintenant):

 var left; $('body,html').stop().animate({pageYOffset: topValue, pageXOffset: leftValue}, { duration: 500, easing: 'swing', step: function(now, fx) { if (fx.prop == 'pageXOffset') { left = now; } else if (fx.prop == 'pageYOffset') { window.scrollTo(left, now); } } }); 

Afficher ceci ici au cas où quelqu’un d’autre trébuche sur cette question à l’avenir.

Je vois des erreurs causées par votre syntaxe dans votre balise META pour la fenêtre d’affichage. Si vous inspectez votre page avec les outils de développement Chrome, vous devriez également voir les erreurs. Votre balise META devrait ressembler à ceci:

  

Notez que la syntaxe correcte utilise des virgules et non des points-virgules entre les valeurs de l’atsortingbut content. Résoudre ce problème peut résoudre vos problèmes sur l’iPad.