jQuery animieren, div-hintergrund-Farbverlauf?
Ich versuche zu bauen, ein hintergrund-animation mit jQuery, die änderungen von einem Farbverlauf zu einem anderen. Ich weiß, Sie können das .animate() Funktion zu ändern, hintergrund-Farben, aber kann dies auch für Steigungen?
Hier ist ein gutes Beispiel von alten Digg-style Kommentare. Ich bin auf der Suche, so etwas zu tun animieren von grün auf gelb
- Wenden Sie sich mit diesem Jquery hintergrund animieren und JQuery Hintergrundfarbe animieren funktioniert nicht
Du musst angemeldet sein, um einen Kommentar abzugeben.
UPDATE: in Diesen Tagen werden alle gängigen Browser unterstützen CSS-Animationen, die viel zuverlässiger ist als jQuery. Für Referenz, siehe Rohit ' s Antwort.
ALTE ANTWORT:
Animieren die Hintergründe direkt ist fast unmöglich mit jQuery, wenigstens konnte ich denken, auf keinen Fall. Es ist ein Weg, wenn auch mit diese:
Dafür sorgt, dass es ist ein übergang. So könnten Sie z.B. tun, dass in CSS:
Und Verwendung von jQuery, entweder das hinzufügen oder entfernen der gelben Klasse:
Gewährleisten würden einen allmählichen übergang durch die transition duration-Eigenschaft in der CSS-Datei.
Animiert der hintergrund mit jQuery ist definitiv machbar, wie in diesem CodePen (nicht meine Schöpfung, aber sehr glatt):
http://codepen.io/quasimondo/pen/lDdrF
Der CodePen-Beispiel verwendet einige glatte bitshifting und andere tricks, um zu bestimmen, die Farben, aber er hat nur eine Funktion definiert (updateGradient), das ändert den hintergrund von CSS und dann Wickel es in ein setInterval.
Den großen zum mitnehmen aus dem updateGradient ist folgende:
Dann nur die Farbe einstellen, die Variablen dynamisch und Sie sind toll.
Versuchen, diese, großartige Arbeit -
CSS:
HTML:
Quelle - https://www.gradient-animator.com/
Brauchte ich es auch, ich such es in google. Aber er fand keine Lösung, so dass ich dieses Problem lösen. Ich mache mit dieser schmutzigen Art und Weise, aber hat geklappt 🙂
Das ist mein code:
Können Sie versuchen,Backgroundor, es ist ein jquery-plugin für grandient animation.
Es ist so einfach, schreiben Sie einfach
$('#yourDivId').backgroundor();
und es wird funktionieren! es hat auch eine Menge Optionen, wie ändern Sie den Grad des Verlaufs der Zeit in der animation.