truy vấn của tôi là: Bất cứ khi nào tôi nhấn bất kỳ nút nào lần đầu tiên, hình ảnh chuyển thành công thành bộ lọc mong muốn trong 4 giây. Nhưng khi tôi nhấn một nút khác, quá trình chuyển đổi diễn ra một cách không công bằng mà không cần 4 giây. Làm cách nào để thay đổi hình ảnh trong 4 giây mỗi lần tôi nhấn các nút ?.Chuyển đổi CSS-filter
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>
Tôi không thể giải thích tại sao quá trình chuyển đổi hoạt ảnh chỉ hoạt động một lần, nhưng ít nhất tôi có thể nói rằng bạn nên xác định các chức năng của mình. Nếu bạn có 200 bộ lọc, bạn sẽ lặp lại 200 lần cùng một chức năng? Không, chỉ viết một và chuyển bộ lọc làm đối số: 'function change_image (filter) { document.getElementById (" blur "). Style.filter = filter; } 'và gọi nó theo cách này:' onclick = "change_image ('sepia (1)')" ',' onclick = "change_image ('grayscale (100%)')" ' –