私のクエリは: 初めてボタンを押すたびに、画像は4秒で目的のフィルタに正常に移行します。しかし、別のボタンを押すと、4秒も経ずに即座に移行が行われます。ボタンを押すたびに4秒間に画像を変更するには?私にとって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>
私はアニメーションの移行が一度しか動作しない理由は考えられませんが、少なくとも私はあなたの機能を分解しなければならないと言います。フィルタが200個ある場合、同じ機能を200回繰り返しますか?いいえ、1つしか書いておらず、引数としてフィルタを渡してください: 'function change_image(filter){ document.getElementById(" blur ")。style.filter = filter; } 'onclick =" change_image( 'sepia(1)') "、' onclick = "change_image( 'grayscale(100%)')" –