2011-07-21 13 views
2

オブジェクトを取得し、そのrotateYプロパティをアニメーション化せずにプリセットされたトランジションに変換する簡単な方法を探しています。CSS3トランジションなしでオブジェクトの位置を変換する

それは少しのようになります。後でコード

$(this).css("-webkit-transform","rotateY(0)"); 
$(this).css("-webkit-transition","0"); 

で、その後

$(this).css("-webkit-transform","rotateY(180deg)"); 
$(this).css("-webkit-transition","10s"); 

をしかし、上記による、それは設定とする必要があるという事実に私のためではない、かなりの作業を行いますトランジションアニメーションのタイミングをリセットします。

私は、オブジェクトを邪魔することなく単にポイントaからbに移動するという解決策が必要です。私はトランジション/変換プレフィックスを経由せずにrotateYプロパティを設定する方法を見つけることができないようです。

事前に感謝の意を表します。

+0

あなたは達成しようとしているものの例を挙げていますか?私はあなたが何を言及したかのようなフィドルを作ったhttp://jsfiddle.net/sambeckhamdesign/P2YTS/14/ – Sam

答えて

1

あなたはCSS3アニメーションのように聞こえますか?

だから... ...あなたのケースでは、アニメーションは、それが終了していますポイントになりたいので、あなたのコードは、この

よう
$(this).css("-webkit-animation", "someanimation 10s forwards"); 

を見てしまうCSS3アニメーションで転送プロパティは、あなたのそのエンドポイントを確保アニメーションは永続的にレンダリングされるスタイルなので、アニメーションはページをアンロードするまでは終了状態のままです。あなたのCSSで

は、あなたがこのコードは、上記のいずれかのクラスまたはIDに特定ではありません

@-webkit-keyframes someanimation { <br /> 
    0% {-webkit-transform: rotateY(180deg);} <br /> 
    100% {-webkit-transform: rotateY(0deg);} <br /> 
} 

追加する必要があります。それはそれ自身のセクションです。

ここW3C Standard

そして、ここでは、記事Smashing Mag

0

だCSS3アニメーションにいくつかのドキュメントはここで、それはあなたが望むものであるのです -

http://jsfiddle.net/rq0574yz/2/

私は 'S' を追加し、border-right: 5px solid redを設定していますこれにより、実際に移行することなく元の位置に戻ることがわかります。 実際には移行が行われますが、キーフレームでは、特定の移行時間を数ミリ秒(20ミリ秒)に短縮して、ユーザーがそれを認識せず、すぐには戻ってこないと考えています。

+0

私はベンダープレフィックス、例えば-webkit-、-ms-または-o-を使用していないが、ベンダープレフィックスがなければ、最新のMozilla Firefoxではアニメーションが正常に動作します。しかし、別のブラウザがある場合は、それらのベンダープレフィックスを追加して、必要な方法でアニメーションを表示する必要があります。 だから私はMozillaが好きです。 –

+0

また、%と全体のアニメーションの長さを調整するだけで、さまざまなタイミングを簡単に変更できます。 –

関連する問題