これはスイング、またはバウンスに当てはまると思います。このコードが投稿された別の投稿で、オブジェクトをスイングさせる方法の例: http://jsfiddle.net/gVCWE/149/
スイングをゆっくりと停止させるにはどうすればよいでしょうか。
.box{
width:50px; height:50px;
background: yellow;
border: 1px solid black;
margin:100px;
position: relative;
float: left;
-moz-animation: 3s ease 0s normal none infinite swing;
-moz-transform-origin: center top;
-webkit-animation:swing 3s infinite ease-in-out;
-webkit-transform-origin:top;
}
@-moz-keyframes swing{
0%{-moz-transform:rotate(-3deg)}
50%{-moz-transform:rotate(3deg)}
100%{-moz-transform:rotate(-3deg)}
}
@-webkit-keyframes swing{
0%{-webkit-transform:rotate(-3deg)}
50%{-webkit-transform:rotate(3deg)}
100%{-webkit-transform:rotate(-3deg)}
}
他の「慣性効果」もやりたいです。必要に応じて、JavaScript や JQuery を使用してもかまいません。自分のやりたいことに対して、CSS やキーフレームだけでは物足りない気がします。
setInterval を使用して、次のようなことを行っても問題ありません。
function prepareAnimation()
{
setInterval(slowAnimation, 200)
}
function slowAnimation()
{
speed=$(".box").getSpeed(); // how would I write getSpeed?
if(speed<=0) return;
speed = speed - .1;
$(".box").setSpeed(speed); // how would I write setSpeed (degree would be set in here too)?
}
スクリプトを使用してアニメーション プロパティを変更する最善の方法がわかりません。特に、アニメーションの途中でデュレーションを変更する場合は、まったく可能かどうかわかりません。ありがとう。