Glätten Sie diese jQuery Toggle-Animation?

8

Die von meiner jQuery-Funktion erzeugte Animation ist zittrig und ich habe verschiedene SO-Lösungen durchgespielt, z. B. das Hinzufügen von jquery.easing, aber kein Glück. Ist das Problem die iframes in jedem div?

Irgendwelche Ideen, wie Sie die Animation glätten können? Ist meine grundlegende Umschaltfunktion der beste Weg?

JSFiddle: Ссылка

Das grundlegende Markup ist unten und wird mehrmals auf der Seite wiederholt (mit Textblöcken zwischen jedem "videotogle" div):

%Vor%

Und die Funktion:

%Vor%     
markratledge 26.01.2012, 21:02
quelle

5 Antworten

11

Andrew's Lösung ist korrekt, aber ich würde immer noch das CSS so setzen (wenn Javascript deaktiviert ist): .Videoblock {Breite: 560px; Höhe: 315px; Überlauf: versteckt}

und fügen Sie die simultane Animation hinzu:

%Vor%

Hier ist der Link zum Finale: Ссылка

    
Alex Okrushko 29.01.2012, 16:21
quelle
5

Sieh dir das an - Ссылка .

es verwendet diese jquery

%Vor%     
theliberalsurfer 28.01.2012 21:34
quelle
4

Schauen wir uns das mal an!

Ich bin mir nicht sicher, wie viele dieser Iframes hier auf einer Seite geladen werden, aber eine Sache scheint sehr sicher zu sein; Wenn Sie einen zu viel haben, haben Sie genug Iframes mit genug Youtube Videos geladen.

Was bedeutet, unnötige Lasten. Der Benutzer darf nicht auf alle diese Links klicken. Der Benutzer kann nicht alle diese Videos ansehen.

Also:

  1. Es gibt ein unnötiges Aufblähen der Ressourcen und einen unnötigen Verbrauch der Bandbreite des Benutzers.

  2. Und außerdem ist das nicht skalierbar. Beachten Sie, dass Sie 50 dieser Links auf einer Seite benötigen. OK. Nimm nur 10. Auch das ist ziemlich viel!

Ich mache mir gerade ein Problem. Wird es hier posten, wenn fertig!

    
Mitesh Ashar 04.02.2012 19:49
quelle
1

Für welchen Browser suchen Sie hauptsächlich? Wenn es sich um einen der Webkit-Browser oder FireFox handelt, können Sie die hardwarebeschleunigten CSS3-Übergänge mit einem jquery-Fallback nutzen.

Ссылка

Ich glaube nicht, dass jQuery easing derzeit CSS3-Übergänge als erste Option verwendet, aber korrigiere mich, wenn ich falsch liege.

Sehen Sie sich an: Ссылка

Es wäre nicht allzu mühsam, etwas mit CSS3 zu hacken.

    
backdesk 04.02.2012 15:42
quelle
1

Gibt es einen bestimmten Grund, warum Sie ein Akkordeon-Plugin nicht direkt verwenden möchten? Die jQuery UI-Bibliothek sollte sich darum kümmern.

Falls das nicht wie erwartet funktioniert, können Sie auch css3-Animationen ausprobieren? Sie können einen Kern von CSS3-Animationen hier finden: Ссылка

Sie müssen zwei Klassen erstellen, eine mit div-hide , die height: 0 hat und eine mit div-show , die die erforderliche height Menge hat. Wann immer Sie umschalten möchten, ändern Sie einfach die Klasse mit jQuery.

IMO, mit CSS3 wäre eine gute Option, wenn Ihre Zielgruppe moderne Browser verwendet. Wenn nicht, können Sie mit Modernizr die Art und Weise ändern, wie die Dinge je nach verwendetem Browser funktionieren.

    
Neeraj 01.02.2012 07:15
quelle