Ich mag zu denken, ich bin kein dummy, aber ich kann nicht mein jQuery horizontal slideshow animieren reibungslos, vor allem im FireFox (auf einem Mac). Jemand Rat?
Animation wird getan, wie folgt:
$('#lookbook').stop().animate({left: -((lookbook-1)*825)+'px'}, { duration: 800, complete: cap_fade(1)});
Beispiel-link:
http://mayfourteenth.com/w/lookbook?preview=1
Habe ich getestet in Firefox, Chrome(dev) und Safari auf windows und die animation ruckelt in allen Browsern(aber mehr in der FF, obwohl).
Zur Steigerung der JavaScript-performance könnten Sie loszuwerden, alle die getElementById oder $("div#mydividentyfier") nennt.
Wenn Sie speichern Sie in der Variablen stattdessen werden Sie zwischengespeichert werden.
Beispiel:
Könnte es die Leistung erhöhen, ganz ein bisschen, um dies zu tun:
Statt:
Ich würde auch empfehlen die Verwendung von data-URIs für die Bilder, wie es reduziert die Menge des httpRequests, die Sie haben zu machen, um die Seite geladen wird.
Die animation sieht glatt für mich in Chrom. Ich glaube jedoch, es gibt mehrere Dinge, die Sie tun können, zu verbessern Glätte:
Erste, es ist in Ordnung zum laden, alle Bilder im Voraus, wie Sie tun, hier (an der Spitze). Jedoch zeigt Sie alle auf einmal, wie in der "Beispiel-link", beeinträchtigt die Leistung, da Sie alle animieren auf einmal:
Statt dies zu tun, können Sie einfach die-cue bis zum nächsten oder vorigen Bild auf beiden Seiten des aktuellen Bildes, aber dann nicht den rest der Bilder in der Seite, bis Sie gebraucht werden. (Vorausladen von Ihnen ist immer noch gut, obwohl.)
Andere Dinge, die die Leistung verbessern können, leicht sind die Dinge wie die folgenden:
Können Sie auch wollen, verwenden Sie diese
Statt