だから私は、これらのCSS3スクリプトどのようにクラスの変更の再アニメーションCSS3アニメーションに
#place.us .level1 { background-position: -100px; background-color: #333; }
#place.gb .level1 { background-position: -100px; background-color: #CCC; }
@-webkit-keyframes place-pop-livel1 {
0% { bottom: -100px; }
100% { bottom: 30px; }
}
#place .level1 {
animation: place-pop-livel1 2s ease-out;
-moz-animation: place-pop-livel1 2s ease-out;
-webkit-animation: place-pop-livel1 2s ease-out;
}
ページ最初の負荷は、divが#place.us
を持ってきたし、アニメーションが完璧に動作します。今度はdivのクラスを 'gb'に変更してjqueryを使用して#place.gb
にしたいと思います。クラスが変更されるとすぐに、同じアニメーションを作成します。
私のjqueryのコードは、クラスの変更
$('.change-city').live('click', function(){
var city = $(this).data('city'); //gb or us
$('#place').removeClass().addClass(city);
});
簡単で、CSSで宣言されたが、アニメーションが起こらないよう.level1
特性が影響を受けています。アニメーションが確実に起こるようにするにはどうすればよいですか?
を。これは、CSSの遷移と解決が容易になり、コードは簡単に従うことができます。あなたのアニメーションは本当にポップアップかもっと複雑なものですか? – Duopixel
これより少し複雑ですが、ここで示したように単純なポップアップに減らすことができます。 – ptamzz