Moje zapytanie to: Za każdym razem, gdy pierwszy raz naciśniesz dowolny przycisk, obraz powraca do wybranego filtra w 4 sekundy. Ale kiedy naciśniesz inny przycisk, przejście następuje bezczynnie, bez 4 sekund. Jak mogę zmienić obraz w 4 sekundy za każdym razem, gdy naciskam przyciski ?.Przejście filtru CSS
function change_image() {
document.getElementById("blur").style.filter = "sepia(1)";
}
function change_image_2() {
document.getElementById("blur").style.filter = "grayscale(100%)";
}
function change_image_3() {
document.getElementById("blur").style.filter = "blur(5px)";
}
#blur {
transition-duration: 4s;
}
<div id="blur">
<img src="http://placehold.it/300" alt="whatever" height="400" width="300">
</div>
<br>
<button class="btn btn-success" type="button" onclick="change_image()">Sepia</button>
<button class="btn btn-success" type="button" onclick="change_image_2()">Grayscale</button>
<button class="btn btn-success" type="button" onclick="change_image_3()">Blur</button>
Nie mogę zrozumieć, dlaczego animowane przejście działa tylko raz, ale przynajmniej mogę powiedzieć, że należy zliczyć swoje funkcje. Jeśli masz 200 filtrów, czy powtórzysz 200 razy tę samą funkcję? Nie, napisz tylko jeden i przekaż filtr jako argument: 'function change_image (filter) { document.getElementById (" blur "). Style.filter = filter; } 'i nazwij to w ten sposób:' onclick = "change_image ('sepia (1)')" ',' onclick = "change_image ('grayscale (100%)')" ' –