2010-12-10 75 views
1

我一直在試圖從IE瀏覽器的jQuery調用過濾器的CSS方法,但我不能這樣做?如何調用IE瀏覽器的CSS漸變屬性 - >從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)"); 
    }); 

前兩行的偉大工程Firefox,Safari和Chrome,但IE的聲明沒有給出迴應:(

所以,任何人都知道如何做到這一點

,P:?!S I試圖-MS-過濾器沒有反應

+0

是否CSS工作:懸停{過濾:等等...}' – 2010-12-10 22:24:11

+0

@Jossiah沒有,人it's doesn't與懸停?但在CSS中過濾沒有懸停的作品。 – 2010-12-11 09:58:58

回答

1

我建議你的代碼將是更清潔的,如果你在你的樣式表移到那些樣式類,然後做.addClass().removeClass()你的鼠標懸停。

您沒有指定使用哪個版本的IE,但是對於它的值,filter適用於IE6和IE7,但IE8需要-ms-filter。後者還要求您轉義過濾器字符串中的引號。

最後,您可能希望查看CSS3Pie,這是對所有版本IE的破解,允許它們以更符合標準的方式支持CSS漸變和border-radius。

+0

嘿,謝謝css3pie,我試試看。我的目標是IE6 + – 2010-12-11 09:59:29

+0

我同意,如果可能的話,你應該從你的JavaScript中分離出樣式,但是有時MS過濾器和類似的類不起作用。 – 2011-03-01 20:42:34

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

沒有兄弟,沒有工作 – 2010-12-11 09:55:07