Проблема с фирменным фильтром IE 7/8 и jQuery - PullRequest
2 голосов
/ 19 августа 2011

Использование проприетарного фильтра CSS в IE (7/8).

Попытка применить дополнительный фильтр (IE 7/8) к узлам DOM и убедиться, что, если у любого из них уже был определен фильтр, ДОБАВИТЬ новый фильтр, а не заменить его.

Итак, у меня есть что-то вроде этого (jQuery):

$('.fxobject').each( 
 function() {
  this.style.filter += 'alpha(opacity=50)';
 }
);

Мой результат заключается в том, что новый фильтр (в данном случае непрозрачность) перезаписывает старый фильтр на любых узлах, у которых уже был фильтр.

Итак, я пытаюсь прочитать значение фильтра различными способами ( jquery's css () и this.style.filter way ), и ничего не получаю (, хотя он это знаетИмеет фильтр, он не может прочитать само строковое значение - вот почему + = не работает, я полагаю ).

Так что я предполагаю, что реализация фильтра IE являетсякакой-то объект (я вижу некоторую документацию о node.filters), но не могу понять, как прочитать значение и добавить дополнительный фильтр.

У кого-нибудь есть решение для этого?

1 Ответ

2 голосов
/ 19 августа 2011

Вы можете попробовать это

$('.fxobject').each( 
  function() {
     var filter = $(this).css("filter") || '';
     $(this).css("filter", filter + 'alpha(opacity=50)');
  }
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...