Ajax-Inhalte mit Animation zu ihrer natürlichen Höhe einblenden

Avatar of Chris Coyier
Chris Coyier am

DigitalOcean bietet Cloud-Produkte für jede Phase Ihrer Reise. Starten Sie mit 200 $ kostenlosem Guthaben!

Lassen Sie uns drei Dinge kombinieren, die wir gerade hier auf CSS-Tricks gelernt haben.

Erstens, Übergänge zu automatischen Dimensionen. Zweitens, Ajax für Inhalte auf moderne Weise. Drittens, Warten auf das Laden von Bildern, um sie zu messen.

Mit diesen drei Dingen in unserem Werkzeugkasten können wir per Ajax beliebige Inhalte abrufen und sie mit einer animierten Höhenanzeige auf der Seite einfügen. Knifflig, knifflig!

Hier ist die endgültige Demo

Sehen Sie den Pen Slide in Ajax Content von Chris Coyier (@chriscoyier) auf CodePen.

Die Überlegung hier ist, dass wir sowieso JavaScript verwenden müssen, da wir per Ajax Inhalte abrufen. Wir könnten genauso gut weiterhin JavaScript verwenden, um einen sanften Übergang zu ermöglichen.

In der großen Tradition von "Ein Skript schreiben" ist hier unseres:

  1. Inhalte per Ajax abrufen
  2. Ein Dummy-Element erstellen, das genau so breit ist wie der Bereich, in den Sie die Inhalte einfügen möchten.
  3. Fügen Sie Ihre Inhalte in das Dummy-Element ein.
  4. Dummy-Element (vorsichtig) messen.
  5. Fügen Sie Ihre Inhalte in das echte (und zusammengeklappte) Element ein.
  6. Die Höhe auf die gemessene Höhe animieren.
  7. Aufräumen.

Der gesamte Code ist zeilenweise im Demo kommentiert.