РИТ: Клиентские технологии - профессиональная конференция веб-разработчиков

Балуемся фильтром revealTrans

Задача: изучить принцип работы фильтра revealTrans и найти ему полезное применение

На данный момент большинство фильтров поддерживается только в Internet Explorer. Есть свои аналоги фильтров в Gecko, но они имеют другой синтаксис и не так разнообразны. Опера наиболее отсталая в этом отношении, только с восьмой версии у неё появилась поддержка alpha-opacity. Так что код приводимый ниже будет работоспособен только в ИЕ, если это не пофиксят в последующих версиях браузеров от Mozilla и Opera.

Фильтр revealTrans сопровождает смену одного изображения на другое разнообразными спецэффектами, а с помощью тега META позволяет применять те же эффекты при переходе между страницами.

Чтобы убедиться в этом своими глазами, откройте пример работы фильтра revealTrans в браузере Internet Explorer.

Смена изображений со спецэффектом осуществляется довольно просто. На тег <IMG> вешается стиль с фильтром revealTrans. У него имеется два параметра: duration — время в секундах, за которое срабатывает спецэффект и transition — число от 0 до 23, которое указывает какой именно эффект применяется. Например:

<img src="/i/bitcode1.gif" width="105" height="83" alt="" id="imgId" style="filter:revealTrans(duration=1,transition=12);">

Коды спецэффектов и их краткое описание:

КодОписание
0перемещение в прямоугольное поле
1перемещение из прямоугольного поля
2в круг
3из круга
4стирание вверх
5стирание вниз
6стирание справа
7стирание слева
8вертикальные жалюзи
9горизонтальные жалюзи
10шахматы поперек
11шахматы вниз
12случайное растворение
13вертикальная разбивка внутрь
14вертикальная разбивка наружу
15горизонтальная разбивка внутрь
16горизонтальная разбивка наружу
17ленты налево вниз
18ленты налево вверх
19ленты направо вниз
20ленты направо вверх
21случайные горизонтальные линии
22случайные вертикальные линии
23один из перечислымных эффектов - рандом

Для применения фильтра пишем простую JavaScript-функцию, которая использует 2 метода:

  • Apply — приостанавливает работу фильтра, для переназначения параметров;
  • Play — запускает работу фильтра;
  • также существует третий метод Stop, полностью останавливающий работу фильтра;
function applyFilter() {
    var img = document.getElementById("imgId");
    img.filters.revealTrans.Apply();
    img.src = img.src.indexOf("1.gif") != -1 ? "/i/bitcode2.gif" : "/i/bitcode1.gif";
    img.filters.revealTrans.Play();
    return false;
}

При переходе на другую страницу также можно применять фильтр revealTrans, для этого необходимо прописать следующие META-теги:

<!-- Для спецэффекта при входе на страницу -->
<meta http-equiv="page-enter" content="RevealTrans(Duration=1, Transition=23)">
<!-- Для спецэффекта, когда пользователь покидает страницу -->
<meta http-equiv="page-exit" content="RevealTrans(Duration=1, Transition=23)">

Немного о blendTrans

Существует очень похожий и немного более популярный фильтр blendTrans. Он обладает теми же методами и задается только с параметром duration. Этот фильтр сопровождает переход спецэффектом изменения прозрачности.

О пользе свежего воздуха

Реальной пользы от рассмотренного фильтра мало. Его применение носит исключительно украшательный характер, да и работает только в ИЕ. Однако, для различных фотогалерей можно включить его в настройки смены изображений, и при желании пользователь им воспользуется. Возможно вы найдете оригинальное применение сами. Успехов!

Александр Бурцев 24 октября 2007

© Все права на данную статью принадлежат порталу fastcoder.org. Перепечатка в интернет-изданиях разрешается только с указанием автора и прямой ссылки на оригинальную статью. Перепечатка в печатных изданиях допускается только с разрешения редакции.

Комментарии

 
Rambler's Top100 Flede HTML valid CSS valid Технологический конкурс сайтов WebHiTech