2010-12-10 28 views
1

J'ai essayé d'appeler la méthode de filtre css de jquery pour IE, mais je ne suis pas en mesure de le faire?Comment appeler la propriété de gradient IE CSS -> Filtre de Jquery

Qu'est-ce que j'utilise?

$('.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)"); 
    }); 

Les deux premières lignes fonctionne très bien pour Firefox, Safari et Chrome, mais l'instruction IE donne aucune réponse :(

Alors, Quelqu'un sait comment faire

P:! S I ont essayé -m-filtre ne se passe rien

+0

Est-ce que le travail css lorsque vous l'appliquez via '.gtob: vol stationnaire {filtre: etc ...}' –

+0

@Jossiah Non, l'homme ESt avec vol stationnaire Indifférent Fume? mais filtre en CSS fonctionne sans vol stationnaire. –

Répondre

1

Je vous suggère que votre code serait beaucoup plus propre si vous déplaciez ces styles à une classe dans votre feuille de style, puis faire .addClass() et .removeClass() pour votre mouseover.

Vous n'avez pas spécifié la version de IE avec laquelle vous travaillez, mais pour ce qu'elle vaut, filter est pour IE6 et IE7, mais IE8 requiert -ms-filter. Ce dernier vous oblige également à échapper les guillemets dans la chaîne de filtre.

Enfin, vous voudrez peut-être vérifier CSS3Pie, qui est un hack pour toutes les versions de IE pour leur permettre de prendre en charge les dégradés CSS et border-radius d'une manière légèrement plus conforme aux normes.

+0

Salut, Merci pour css3pie, je l'essaie. Mon objectif est IE6 + –

+0

Je suis d'accord que lorsque cela est possible, vous devez séparer les styles de votre javascript, mais parfois MS Filters et l'utilisation de classes comme ça ne fonctionne pas. –

0

Je pense que le gradient doit être capitalisé?

$('.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

No bro, Ne fonctionne pas –