2010-12-10 7 views
1

IEのjqueryからfilter cssメソッドを呼び出そうとしていましたが、できませんでしたか?IE CSSグラディエントプロパティを呼び出す方法 - > Filter from Jquery

私は使っていますか?

$('.gtob').mouseover(function(){ 
     $(this).css("background-image","-moz-linear-gradient(100% 100% 90deg, #373737, #000000)"); 
     $(this).css("background-image","-webkit-gradient(linear, 0% 0%, 0% 100%, from(#373737), to(#000000))"); 
     $(this).css("filter","progid:DXImageTransform.Microsoft.gradient(startColorstr='#373737', endColorstr='#000000',GradientType=0)"); 
    }); 

最初の2行は、Firefox、SafariとChromeの素晴らしい作品が、IEの文は何の応答も与えない:(

だから、誰もがそれを行う方法を知っている

P:?!S I -ms-フィルタ何も私はあなたがあなたのスタイルシート内のクラスにこれらのスタイルを移動した場合、あなたのコードは非常にクリーンであることを示唆している、そして、あなたのマウスオーバーのため.addClass().removeClass()にしてください

+0

は、CSSの作業を行い{フィルタ:等...}' –

+0

@Jossiahいや、男はホバーでdoesn't it's?しかし、cssのフィルタは、ホバリングなしで動作します。 –

答えて

1

を起こりません試してみました。

あなたは作業しているIEのバージョンを指定していませんが、それは価値があるため、filterはIE6とIE7、IE8は-ms-filterが必要です。後者の場合は、フィルタ文字列の引用符をエスケープする必要もあります。

最後に、すべてのバージョンのIEのハックであるCSS3Pieをチェックして、CSSのグラデーションとボーダー半径をやや標準に準拠した方法でサポートすることができます。

+0

ねえ、css3pieありがとう、私はそれを試してみてください。私の目標はIE6 + –

+0

です。可能であれば、javascriptからスタイルを分離する必要がありますが、MS Filterやそのようなクラスを使用することはうまくいきません。 –

0

グラデーションは大文字にする必要がありますか?ホバー:あなたは `.gtobを経由して、それを適用するときに

$('.gtob').mouseover(function(){ 
     $(this).css("background-image","-moz-linear-gradient(100% 100% 90deg, #373737, #000000)"); 
     $(this).css("background-image","-webkit-gradient(linear, 0% 0%, 0% 100%, from(#373737), to(#000000))"); 
     $(this).css("filter","progid:DXImageTransform.Microsoft.Gradient(startColorstr='#373737', endColorstr='#000000',GradientType=0)"); 
    }); 
+0

仲間はいません、うまくいきません –

関連する問題