2011-07-22 5 views
0

jQueryを使用して要素にCSS3変換を追加しようとしています。私は私のコードをテストするためにFirefox 5を使用しています。私の目標は、さまざまなブラウザに複数のバージョンのトランジションを追加することで、ブラウザの互換性を最大限に高めることです。ここで私が使用しているコードです: jQueryは、Firefoxを使用している場合、非モジラCSS3変換を無視します。

$('#element_name').css('-webkit-transform', 'rotate(45deg)'); 
$('#element_name').css('-moz-transform', 'rotate(45deg)'); 
$('#element_name').css('transform', 'rotate(45deg)'); 

私はFirebugのを使用して結果のHTMLを表示

は、私が観察しているだけ-moz-変換要素のインラインCSSに追加されました。このCSSはFirefoxでうまく動作しますが、他の行も追加する必要があります。 Safariでページを表示すると、-webkit-transform行が表示されると想定していますが、これはプロジェクトの要件には十分ではありません。私は、ブラウザに関係なく、同時に異なるCSS変換ラインをすべて追加する必要があります。

jQueryにそれらをすべて使用させる方法はありますか?おそらく、jQueryに現在のブラウザを気にしないように指示するための設定がありますか?

+0

FireFoxブラウザに-webkitバージョンが必要なのはなぜですか? – PeeHaa

答えて

1

使用しているFirefoxのバージョンは何ですか?一時的に-moz-transform宣言を削除しようとしましたが、どうなるのでしょうか?
私はよく分かりませんが、時にはファイヤーバグは最初の有用な宣言だけを示します。

+0

私はFirefox 5を使用していますが、-moz-transformプロパティを設定しないと、Firebugは要素のcssに何も表示しません。 – JGDev

+0

私は本当にポイントを得ることはありません。 FirebugはサポートされているCSSの指示文を表示します。 3つのプロパティを設定すると、各ブラウザはそのうちの1つをサポートします(Firefoxは-moz-transformだけをサポートし、SafariとChrome -webkit-transformはサポートします)。 CSS3変換は、ほとんどのブラウザでまだサポートされていません(昨日リリースされて以来、Safari 5.1についてはわかりません)。このライブエディタhttp://www.westciv.com/tools/transforms/を見てください。変換された要素には、ブラウザに応じて異なるcssディレクティブがあることがわかります。 – pasine

2

これはjQueryに起因するものではありません。プロパティがブラウザで利用可能な場合、jQueryはプリチェックを行いません。

不明なプロパティがブラウザに表示されないため、Firebugは未知のプロパティを表示しません。これは、エラーを引き起こさずに無効な割り当ての一種です。

無効なCSSプロパティを割り当てると、Firebugsコンソールで警告が表示されるだけで、コンソールメニューの[show CSS-errors]オプションを選択して表示することができます。

+0

上記のようにCSSプロパティを設定したら、-webkit-transformが設定されているかどうかを確認します:if($( 'element_name')。css( ' - webkit-transform'))。このチェックは常にfalseですが、-moz-transformをチェックするとtrueが返されます。つまり、jQueryが-moz-transform CSSプロパティだけが設定されているかどうかということです。 – JGDev

+0

また、-moz-transform CSSを追加するコードを削除すると、Firebugは要素にCSSが追加されていないことを示します。一般的な財産でさえない。私はFirefoxで実際に何かをするために-webkit-transformプロパティを期待していませんが、まだそれが現れることを期待しています。 – JGDev

+0

もう一度:これはjQueryの問題ではなく、火かき棒の原因です。 http://jsfiddle.net/doktormolle/zSVLm/を確認してください。値は設定されています(要素のDOMタブ内にあります)が、CSS側では無視されます。 –

関連する問題