2017-09-04 1 views
1

Ich arbeite an einer site, die CSS3-Animationen verwendet.Vertikale Scroll-Animation 'springt' auf iOS

Ich habe auf iOS die Comic-Untertitel 'springen' bemerkt, die meiner Meinung nach durch die Adressleiste verursacht wird, die eines der window properties verwendet, um die Position der Beschriftung zu berechnen.

Quellcode ist hier verfügbar: https://gitlab.com/ashleyconnor/adventurersclubcomic

Wenn ich in meiner Annahme richtig bin. Gibt es eine genaue Möglichkeit, die iOS-Adressleiste auszugleichen, sodass es keinen Sprung (plötzlichen Anstieg) in einem dieser Werte gibt?

+1

Nicht sicher, ob dies beim Debuggen hilft, aber wenn Sie mit der Seite nach oben und der Seite nach unten blättern, haben Sie auch ein erhebliches Sprungproblem. Ich vermute, es ist wahrscheinlich das gleiche Problem. Wahrscheinlich ein Fehler in Ihrem Parallax-Code. – k2snowman69

+0

PgUp/Down funktioniert auf Chrome und Safari auf OSX, aber gut zu wissen. Ich habe ein Problem für das Projekt eingereicht. Vielen Dank. – Ash

+0

Darf ich einen Link zu dem von Ihnen eingereichten Problem erhalten? – k2snowman69

Antwort

1

Ich habe Ihr Repo geklont und konnte den Jitter bei der Fenstergrößenanpassung sowohl in Firefox als auch in Chrome reproduzieren. Nach ein paar Minuten debuggine finde ich das Problem tatsächlich in deiner index.js-Datei.

Sie aktualisieren das Enllax-Plugin bei jeder Änderung der Fenstergröße vollständig. Dies scheint unnötig zu sein.

Wenn Sie die überzähligen Anrufe an die enllax Funktion wie folgt entfernen:

$(document).ready(function() { 
// function enllax() { 
    $('#start').enllax({ 
     type: 'foreground', 
     ratio: 0.5, 
     direction: 'vertical' 
    }); 
// $(window).scroll(); 
// }; 

    $('#begin').click(function() { 
     $('html, body').animate({ 
      scrollTop: $("#panel1").offset().top 
     }, 1000); 
    }); 

// enllax(); 

    // And trigger the scroll event on resize to deal with changes 
    // in the responsive layout 
    $(window).on('resize', $(window).trigger('scroll')); 
}); 

Mit diesem Update stoppt der Jitter auf Resize in allen Browsern habe ich installiert. Es muss noch in iOS getestet werden, da ich keine Apple-Hardware habe, um es zu testen, aber ich vermute, dass es das Problem dort auch beheben sollte.

+0

Sieht so aus, als ob es repariert wurde. Vielen Dank! – Ash

+0

Glücklich zu helfen :) – LightBender

Verwandte Themen