2017-10-20 1 views
1

Ich arbeite an einem Bild-Uploader. Ich habe keine Probleme mit der Aktualisierung des Fortschrittselementwerts während des Uploads. Nach dem Hochladen möchte ich die Hintergrundfarbe des Elements mit einer Animation ändern.Hintergrundfarbe des html5 Fortschrittselements animieren

In meinem jQuery gebe ich dem Element eine andere Klasse und:

$(newImageElement).find('.list-item__image-holder 
.progressBar').addClass('progressBar-green'); 

Und das ist mein CSS:

.list-item__image-holder .progressBar-green[value]::-webkit-progress-value { 
-webkit-animation: progressBarAnimation 3s ease-in; 
animation: progressBarAnimation 3s ease-in; 
} 


@keyframes progressBarAnimation { 
    0% { 
     background-color: #f96332; 
    } 
    100% { 
     background-color: #5cb860; 
} 

Jede Idee, was ich hier falsch mache?

+1

Sobald die Klasse, die Sie die Farbe über Animation ändern möchten hinzugefügt wird? Ich denke, dass Sie in der Lage sein werden, was Sie wollen, VIA CSS-Übergänge. – Gezzasa

+0

@Gazzasa Ja, es war so einfach wie mit CSS Transition. Danke – Marco

+0

Froh ich könnte helfen :). Ich werde die Antwort posten – Gezzasa

Antwort

1

Versuchen Sie es mit CSS-Übergängen. Funktioniert hervorragend für Animationen und kein JS erforderlich.

https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Transitions/Using_CSS_transitions

.list-item__image-holder .progressBar { 
    background-color: #f96332; 
    transition: background-color ease-in 1s; 
} 

.list-item__image-holder .progressBar.progressBar-green { 
    background-color: #5cb860; 
} 

ein Beispiel gemacht, aber verwendet :hover statt .addClass()

https://jsfiddle.net/zk0Lg345/

Verwandte Themen