Доступ к объекту filters
В браузерах Internet Explorer начиная с 4-й версии доступен объект filters, который дает доступ к управлению фильтрами. Но большее количество разновидности фильтров было добавлено в Internet Explorer версии 5.5.
С помощью фильтров можно создавать различные визуальные эффекты. Применение этих фильтров может осуществляться как с помощью CSS, так и с помощью javascript.
Полный список всех фильтров доступен тут, где демонстрируется их работа (работает только в InternetExplorer).
Изначальной идеей создания этих фильтров было - облегчение работы для пользователей, т.к. они не требуют вмешательства скриптов, и то, что фильтры можно интегрировать в стиль или класс элемента, т.к. они используют синтаксис CSS.
Пример использования фильтров (работает только в Internet Explorer)
Фильтр alpha устанавливает прозрачность элемента на 20% с помощью свойства opacity
<img src="http://javascript.ru/forum/images/ca_serenity/misc/logo.gif" style="filter:progid:DXImageTransform.Microsoft.Alpha(opacity=20)">
Фильтр Blur размывает элемент с помощью свойства PixelRadius
<img src="http://javascript.ru/forum/images/ca_serenity/misc/logo.gif" style="filter:progid:DXImageTransform.Microsoft.Blur(PixelRadius=4)">
Пример использования фильтров в javascript
// через объект style
elem.style.filter ="progid:DXImageTransform.Microsoft.Alpha(opacity=20)";
// или через объект filters
elem.filters.alpha.opacity = 20;
Главной особенностью объекта filters в javascript, то, что он доступен только для тех элементов, которые имеют родительский узел!
Следующий пример продемонстрирует эту особенность.
var div = document.createElement('div');
alert(div.filters) // результат: ошибка "Член группы не найден" и сценарий обрывается
var elem = document.getElementById('elemId');
alert(elem.filters) // результат: [object]
|
во втором сценарии у вас
а следом
Это только здесь опечатка или и в самом коде?
Кроме того фильтры должны лежать внутри styles, не так ли?
В IE не текстовые ноды имеют объект для управления фильтрами . filters
> А втором сценарии проверяемый элемент был создан, но не включен в DOM.
Не совсем так. Просто для того, чтобы манипулировать объектом фильтра, у элемента должен быть родитель, а находиться на странице ему не обязательно...
Вообще-то, для таких тем есть форум.
Может хватит засорять главную страницу сайта?
Или офформить стоило по-аккуратней, что ли.
Думаю блог лучше подошел бы для этого случая, думаю кому нибудь пригодится! Ведь я тут не поднимаю вопрос, а показываю интересную ситуацию! Не думаю что каждый знает про это!
Да это тут была опечатка. Исправил!
Просьба - аккуратнее с заголовком. "Член группы не найден" - как бы вообще непонятно и не при чем. Поправил его.
Также просьба обновить сообщение, сделать его более понятным, что, причем, зачем, и как может быть полезно читателям.