Ich versuche, Benutzern einen “Farbblitz” zu geben, wenn ein Klickereignis auftritt. Ich kann die Farbe mit einem Übergang auf angenehme Weise erscheinen lassen, aber ich möchte, dass die Farbe nach 0,5 Sekunden verschwindet, ohne die “aktive” Klasse zu entfernen. Eine Voraussetzung ist jedoch, dass ich keine jQuery-Animationen verwenden kann und dies in CSS erfolgen muss.
Fügen Sie einen neuen Übergang als Ausblendung mit 5 Sekunden Verzögerung hinzu
– DiederikeEn
28. Mai 2013 um 12:22 Uhr
Warum hast du den Übergang aktiviert? .active? Fügen Sie es einfach dem Element hinzu (#imADiv)
– Ron van der Heijden
28. Mai 2013 um 13:33 Uhr
Ich verwende die Klasse, weil der Übergang basierend auf Klickereignissen auf Elemente angewendet wird, und da es mehr als ein Element gibt, auf das ich dies anwenden werde, verwende ich eine Klasse.
– zmanc
28. Mai 2013 um 14:15 Uhr
Rohith
Ich denke, das ist, was Sie suchen. Das Muster ist nicht exakt.
Folgendes habe ich mir aufgrund meiner eigenen Bedürfnisse ausgedacht. Ich wollte einen Farbblitz, um eine Benutzeraktion zu bestätigen. Der Text blinkt einmal, wenn Sie darauf klicken. Es verwendet jquery, um die Klasse festzulegen, aber nicht für die Animation.
HTML:
<span style="background:lightgray" id="id">Click to flash</span>
Ich wollte nur sagen, dass dies sechs Jahre später immer noch eine perfekte Lösung ist. Gute Arbeit. Und als Bonus ist Ihr jQuery-Code jetzt in den meisten modernen Browsern tatsächlich vollständig als Vanilla JS gültig.
Und ich fand es auch nützlich, die Klasse am Ende der Animation entfernen zu lassen (damit ich sie später wieder hinzufügen könnte, wenn ich die Animationen noch einmal sehen wollte):
function flashYellow(element) {
element
.addClass("quickFlash")
.on(
"webkitAnimationEnd oanimationend msAnimationEnd animationend",
function() {
console.log("animationend");
$(this)
.delay(500)// Wait for milliseconds.
.queue(function() {
console.log("end of delay");
$(this)
.removeClass("quickFlash")
.dequeue();
});
}
);
}
11462400cookie-checkEin “Farbblitz” mit reinen CSS-Übergängenyes
Fügen Sie einen neuen Übergang als Ausblendung mit 5 Sekunden Verzögerung hinzu
– DiederikeEn
28. Mai 2013 um 12:22 Uhr
Warum hast du den Übergang aktiviert?
.active
? Fügen Sie es einfach dem Element hinzu (#imADiv
)– Ron van der Heijden
28. Mai 2013 um 13:33 Uhr
Ich verwende die Klasse, weil der Übergang basierend auf Klickereignissen auf Elemente angewendet wird, und da es mehr als ein Element gibt, auf das ich dies anwenden werde, verwende ich eine Klasse.
– zmanc
28. Mai 2013 um 14:15 Uhr