アニメーションのタイミング、プロパティなどに多くのユーザー オプションを使用するスクリプトを作成しましたが、css3 アニメーションを追加する方法がわかりません (jquery にフォールバックします)。
次のコードがあるとします (ほんの一例)。
$Element.bind('click',function(){
var bc=options.borderColor,
bw=options.borderWidth,
l= options.left,
speed=options.speed,
bc_ease=options.borderColorEasing,
bw_ease=options.borderColorWidth,
l_ease=options.leftEasing;
if(Modernizr.csstransitions){
// CSS3 .....
}else{
// JS
$Overlay.animate({borderColor: bc, borderWidth: bw, left: L },
{duration:speed, queue:false, specialEasing: {borderColor: bc_ease,
borderWidth: bw_ease, left: L_ease }});
};
});
また、必要になると思われる CSS Rule updater 関数も作成しました。
setCSSRule:function(getRule,newRule){
var styles=document.styleSheets;
for(var i=0,l=styles.length; i<l; ++i){
var sheet=styles[i];
if(sheet.title === "style"){
var rules=sheet.cssRules;
for(var j=0, l2=rules.length; j<l2; j++){
var rule=rules[j];
// SELECT APPROPRIATE RULE IN STYLESHEET AND UPDATE IT
if(getRule === rule.selectorText){
rule.style.cssText=newRule;
};
};
};
};
},
これは、すべてのスタイルシートをループし、正しいルールを見つけて、提供された新しいルールで更新します。
私は CSS3 トランジションの基本的な理解がありますが、jQuery と JS でアニメーション化することに慣れているため、CSS3 トランジションは少し後ろ向きに感じられます。私が読んだことから、これを達成するために addClass または Toggle クラスを使用できますが、(コードの最初のスニペットの変数に示されているように) ユーザー オプションを CSS3 トランジションに挿入する必要があります (これが、ビルドに着手した理由です) CSS ルールの更新機能) が、現在行き詰まっています。どんな助けでも素晴らしいでしょう!みんなありがとう :)