jsで何らかのイベントが発生した後、無限に回転する画像を表示しようとしています。
Chrome 26、Firefox 19 では完全に動作しますが、Opera 12 (最新) では失敗します。
次のように、style="display: none" で初期画像を使用します。
<img src="http://example.com/img.png" id="test" style="display: none">
次に、画像を表示します(表示を削除:なし):
$('#test').show();
予想される動作: 画像の回転を参照してください。Opera では回転は発生しません。これはオペラのバグですか?画像が表示された後にクラスで適用することでアニメーションを開始できることはわかっていますが、最初に画像にアニメーションが設定されているときにアニメーションをトリガーする方法を知りたいです。初期画像が表示されている場合、アニメーションは正常に動作します (表示: ブロック)。
jsFiddle の例を次に示します: http://jsfiddle.net/vdJLL/
回転に使用する CSS:
#test {
-webkit-animation: rotate 5s linear 0s infinite normal;
-moz-animation: rotate 5s linear 0s infinite normal;
-o-animation: rotate 5s linear 0s infinite normal;
-ms-animation: rotate 5s linear 0s infinite normal;
animation: rotate 5s linear 0s infinite normal;
}
@-webkit-keyframes rotate {
from {
-webkit-transform: rotate(0deg);
}
to {
-webkit-transform: rotate(360deg);
}
}
@-moz-keyframes rotate {
from {
-moz-transform: rotate(0deg);
}
to {
-moz-transform: rotate(360deg);
}
}
@-o-keyframes rotate {
from {
-o-transform: rotate(0deg);
}
to {
-o-transform: rotate(360deg);
}
}
@-ms-keyframes rotate {
from {
-ms-transform: rotate(0deg);
}
to {
-ms-transform: rotate(360deg);
}
}
@keyframes rotate {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}