Как вызвать IE CSS свойство градиента -> Фильтр из Jquery - PullRequest
1 голос
/ 11 декабря 2010

Я пытался вызвать метод filter css из jquery для IE, но я не могу это сделать?

Что я использую?

    $('.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! Я пробовал -ms-filter Nothingслучается

Ответы [ 2 ]

1 голос
/ 11 декабря 2010

Я бы предположил, что ваш код будет намного чище, если вы переместите эти стили в класс в своей таблице стилей, а затем выполните .addClass() и .removeClass() для наведения мыши.

Вы не указали, с какой версией IE вы работаете, но для чего стоит, filter для IE6 и IE7, но для IE8 требуется -ms-filter. Последнее также требует от вас экранировать кавычки в строке фильтра.

Наконец, вы можете проверить CSS3Pie , который является хаком для всех версий IE, чтобы позволить им поддерживать CSS-градиенты и радиус границы чуть более в соответствии со стандартами. *

0 голосов
/ 11 декабря 2010

Я думаю, что градиент должен быть заглавными?

  $('.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)");
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...