Техника Web-дизайна для студента

Примеры использования динамических фильтров

Одновременное использование нескольких фильтров применительно к различным изображениям

Сформулируем задачу следующим образом. В момент загрузки страницы начинают появляться три изображения с использова­нием разных эффектов, а через 3 с возникают еще три, также с использованием разных эффектов. В реальной ситуации, воз­можно, и не потребуется воспроизводить каждый рисунок со своим эффектом, но в данном примере важно показать, как реа­лизовать такие возможности, применив при этом только одну функцию для управления фильтром (листинг 9.6).

Листинг 9.6. Пример одновременного применения различных фильтров к нескольким изображениям

<HTML>

<HEAD>

<TITLE>npMMepl</TITLE>

<script> function pr()

{

Prl (picl) prl(pic2) prl (pic3)

SetTimeout("prl(pic4)", 3000) setTimeout("prl(pic5)", 3000) setTimeout("prl(pic6)", 3000)

}

Function prl(pic)

{

Pic. style. visibility="hidden"

Pic. filters[0].apply()

Pic. filters[0].play()

Pic. style. visibility="visible"

}

</script>

</HEAD>

<BODY onload = pr()>

<IMG ID=picl SRC="1.jpg" width=100 style="position:absolute;

Left:30; top:10; filter: progid: DXImageTrans-

Form. Microsoft. Stretch (stretchstyle=spin, duration=3)">

<IMG ID=pic2 SRC="2.jpg" width=100 style="position:absolute; left:80; top:70; filter: progid: DXImageTrans- form. Microsoft. GradientWipe (GradientSize=0, wipestyle=l, mo - tion=reverse, duration=3)">

<IMG ID=pic3 SRC="3.jpg" width=100 style="position:absolute; left:5; top:150; filter:

Progid:DXImageTransform. Microsoft. Strips (motion=rightup, du - ration=3)">

<IMG ID=pic4 SRC="4.jpg" width=100 style="position:absolute; left:250; top:70;visibility:hidden; filter: progid:DXImageTransform. Microsoft. RandomDissolve (dura - tion=3)" >

<IMG ID=pic5 SRC="5.jpg" width=100 style="position:absolute;

Left:170; top:20; visibility:hidden; filter:

Progid:DXImageTransform. Microsoft. Checkerboard (direc­tion=right, SquaresX=5, SquaresY=5, duration=3)">

<IMG ID=pic6 SRC="6.jpg" width=100 style="position:absolute; left:170; top:170; visibility:hidden; filter: progid:DXImageTransform. Microsoft. Iris(irisstyle=cross, mo - tion=out, duration=3)">

</BODY>

</HTML>

Чтобы осуществить многократный вызов функции pr 1 () с раз­личными значениями параметра, создана вспомогательная функция рг (), в которой вызов функции pr 1 () с именами объ­ектов picl, pic2, pic3 осуществляется непосредственно, а с именами pic4, pic5, pic6 — через метод setTimeOuto с задерж­кой 3 с. В свою очередь, вызов функции рг () осуществляется при загрузке документа. В верхней строке функции prl () предусмот­рено скрытие объекта (pic. style. visibility="hidden") с тем, чтобы в дальнейшем он появился с заданным эффектом (pic. style. visibiiity="visibie"). Так как выполнение функ­ции prl () связано с загрузкой документа, то пользователь не за­метит скрытия объектов picl, pic2, pic3, а увидит только их по­степенное появления с использованием эффекта. Что же касается объектов pic4, pic5 и pic6, то для них необходимо предусмотреть предварительное скрытие, что и сделано в метках <img> соответ­ствующих объектов. В противном случае они в течение 3 с нахо­дились бы на экране, после чего были бы скрыты и появились вновь с применением эффекта.

Выбор изображения из списка

Очередное изображение выбирается из списка, включающего более двух изображений в произвольном порядке, и появляется на фоне предыдущего с применением эффекта. Повторный вы­бор уже установленного изображения не должен приводить ни к каким изменениям.

Изображения предварительно должны быть приведены к одному размеру, например путем масштабирования и обрезки. После этого к ним можно применить одинаковое абсолютное пози­ционирование, в результате чего будет видимым только одно изображение (листинг 9.7).

Листинг 9.7. Пример выбора изображения в произвольном порядке с применением динамического эффекта

<html>

<head>

<title>npMMep 2</title>

</head>

<script> var z=0

Function prl(pic)

If (pic. style. zlndex!= z-1)

Pic. style. visibility="hidden"

Pic. filters[0].Apply()

Pic. style. zlndex=z

Pic. filters [0] . PlayO

Pic. style. visibility="visible"

</script>

<body>

<ul>

<lixbxfont size="5" onclick=prl (picl) >Рисунок 1</ f ontx/b>< /1 i>

Clixbxfont size="5" onclick=prl (pic2) >Рисунок 2</fontx/bx/li>

<lixbxfont size="5" onclick=prl (pic3) >Рисунок 3</ f ontx/bx /1 i>

<lixbxfont size="5" onclick=prl (pic4) >Рисунок 4 </ f ontx/bx /1 i>

</ul>

<img id=picl style="position: absolute; left: 180; top: 16;

Filter: progid:DXImageTransform. Microsoft. Blinds (bands=8, direction=left, duration=3); visibility: visible"

Src="l. jpg">

<img id=pic2 style="position: absolute; left: 180; top: 16;

Filter: progid:DXImageTransform. Microsoft. Blinds (bands=8, direction=left, duration=3); visibility: hidden"

Src="2.jpg">

<img id=pic3 style="position: absolute; left: 180; top: 16;

Filter: progid:DXImageTransform. Microsoft. Blinds (bands=8, direction=left, duration=3); visibility: hidden"

Src="3.jpg">

<img id=pic4 style="position: absolute; left: 180; top: 16;

Filter: progid:DXImageTransform. Microsoft. Blinds (bands=8, direction=left, duration=3); visibility: hidden"

Src="4.jpg">

</body>

</html>

После загрузки документа видимым будет изображение picl, для которого задано visibility: visible, остальные изображе­ния скрыты (visibility: hidden).

Перемещение выбранного изображения поверх остальных осуще­ствляется путем изменения слоя, в котором оно располагается. Для этой цели используется свойство z-index каскадной таблицы стилей. Объект, имеющий СВОЙСТВО Z-index больше остальных объектов, располагается поверх этих объектов. По умолчанию свойство z-index объекта равно нулю. Переменная z — счетчик, предназначенный для увеличения свойства z-index демонстри­руемого объекта. При каждом вызове функции prl () переменная z увеличивается на единицу. Условие pic. style. zindex!= z-l проверяет, является ли активизируемый объект новым или он стал видимым на предыдущем шаге. Появиться с применением эффекта может только скрытый объект, поэтому в случае выпол­нения условия объект скрывается.

Далее метод Apply о зафиксирует изображение. Свойству z-index объекта присваивается новое значение и объект появля­ется с применением эффекта поверх остальных изображений. Если же условие не выполняется, то это означает, что осуществ­ляется попытка активизировать уже видимый объект. Такой объ­ект не будет скрыт и, следовательно, изменения изображения не произойдет.

Изображения демонстрируются одно за другим в заданной последовательности

Нажатие кнопки "Вперед" ведет к появлению следующего по порядку изображения, а кнопки "Назад" — предыдущего.

Подготовка и размещение изображений осуществляется так же, как и в предыдущем примере. Добавляются две кнопки и две функции: ргго — вызывается при нажатии на кнопку "Вперед" и ргн () — вызывается при нажатии на кнопку "Назад" (лис­тинг 9.8).

Листинг 9.8. Пример демонстрации изображений в заданной последовательности кнопками "Вперед" и "Назад"

<html>

<head>

<title>npMMep 3</title>

</head>

<script> var z=0

Var kol=4 //общее число рисунков var k=0 function prF()

If (k<kol-l)

K++ pr ()

Function prR()

If (k>0)

K— pr ()

Z++

Document

Document

Document

Document

Document

подпись: z++
document
document
document
document
document

Function рг(

подпись: function рг(

images[k].style. visibility="hidden" images[k].style. zlndex=z images[k].filters[0].Apply() images[k].filters[0].Play() images[k].style. visibility="visible"

</script>

<body>

<img id=picl style="position: absolute; left: 180; top: 16; filter:

Progid:DXImageTransform. Microsoft. RadialWipe(wipestyle=clock, duration=3); visibility: visible"

Src="l. jpg">

<img id=pic2 style="position: absolute; left: 180; top: 16; filter:

Progid:DXImageTransform. Microsoft. RadialWipe(wipestyle=clock, duration=3); visibility: hidden"

Src="2.jpg">

<img id=pic3 style="position: absolute; left: 180; top: 16; filter:

Progid:DXImageTransform. Microsoft. RadialWipe(wipestyle=clock, duration=3); visibility: hidden"

Src="3.jpg">

<img id=pic4 style="position: absolute; left: 180; top: 16; filter:

Progid:DXImageTransform. Microsoft. RadialWipe(wipestyle=clock, duration=3); visibility: hidden"

Src="4.jpg">

<span style="position: absolute; left: 63; top: 111">

<input type="button" value="Вперед" name="B3" on - click=prF()>

</span>

<span style="position: absolute; left: 68; top: 179">

Cinput type="button" value="Назад" name="B3" on - click=prR()>

</span>

</body>

</html>

В программе используются три переменные. Назначение пере­менной z, как и в предыдущем примере, — увеличение свойства z-index демонстрируемого объекта. Переменная kol — количе­ство используемых рисунков. При желании изменить количество рисунков достаточно изменить значение этой переменной. Пе­ременная к — счетчик, определяющий порядковый номер ак­тивного рисунка. Назначение функции prF() — увеличение на единицу значения переменной к при каждом вызове функции до тех пор, пока не будет достигнуто максимального значения koi-

1 (нумерация рисунков ведется от 0). В этом случае значением выражения k<koi-l станет faise и изменение переменной к прекратится. На практике это означает, что повторные нажатия кнопки "Вперед" после появления последнего рисунка, не будут приводить ни к каким изменениям. В случае изменения пере­менной к вызывается на выполнение функция рг ( ). Функция prR ( ) предназначена для уменьшения на единицу значения пе­ременной к и вызова функции рг() после нажатия кнопки "На­зад" до тех пор, пока не будет показан рисунок с номером 0, т. е. значение условия к>0 не станет faise. Назначение функции рг ( ) аналогично назначению функции prl() из предыдущего примера, за исключением того, что в ней отсутствует проверка на новизну объекта, так как она может быть вызвана только при изменении номера рисунка. В отличие от предыдущего примера, переход к новому объекту осуществляется путем выбора рисунка с заданным порядковым номером к из семейства рисунков docu­ment. images[k].

Демонстрация изображений в заданной последовательности с использованием одной кнопки

Как и в предыдущем случае, изображения демонстрируются в определенной последовательности, но для этого используется только одна кнопка, на которой надпись "Вперед" меняется на надпись "Назад" при достижении последнего изображения и вновь восстанавливается надпись "Вперед" при завершении пе­рехода от последнего изображения к первому.

В отличие от предыдущих примеров, замена изображения осуще­ствляется при любом нажатии кнопки. Появилась новая перемен­ная shag, которая принимает значения: 1 — осуществляется пере­ход в направлении увеличения порядкового номера рисунка, — 1 — уменьшение порядкового номера рисунка. При достижении мак­симального номера переменная shag изменяет значение на — 1, а кнопка приобретает надпись "Назад". При достижении мини­мального номера — переменная shag становится равной 1, а на кнопке появляется надпись "Вперед". Для изменения надписи на кнопке используется свойство value объекта KN1. Текст документа с программой приведен в листинге 9.9.

Листинг 9.9. Пример демонстрации изображений в заданной последовательности с использованием одной кнопки

<HTML>

<HEAD>

<Т1ТЪЕ>Пример4 < /TITLE>

<SCRIPT> var z=0

Var kol=4 //общее число рисунков var k=0 var shag=l function prD()

K+=shag pr () if (k==0)

KN1.value="Вперед" shag=l

If (k==kol-l)

KN1.value="Hasan"

Shag=-l

Function pr(

Z++

Document

Document

Document

Document

Document

подпись: z++
document
document
document
document
document

Images [k; images [k; images [k; images [k; images [k;

подпись: images [k; images [k; images [k; images [k; images [k;.style. visibility="hidden"

.style. zlndex=z. filters [0] .Apply ()

. filters [0] . PlayO .style. visibility="visible"

</SCRIPT>

</HEAD>

<BODY>

<img id=picl style="position: absolute; left: 180; top: 16; filter:

Progid:DXImageTransform. Microsoft. RadialWipe(wipestyle=clock, duration=3); visibility: visible"

Src="l. jpg">

<img id=pic2 style="position: absolute; left: 180; top: 16; filter:

Progid:DXImageTransform. Microsoft. RadialWipe(wipestyle=clock, duration=3); visibility: hidden"

Src="2.jpg">

<img id=pic3 style="position: absolute; left: 180; top: 16; filter:

Progid:DXImageTransform. Microsoft. RadialWipe(wipestyle=clock, duration=3); visibility: hidden"

Src="3.jpg">

<img id=pic4 style="position: absolute; left: 180; top: 16; filter:

Progid:DXImageTransform. Microsoft. RadialWipe(wipestyle=clock, duration=3); visibility: hidden"

Src="4.jpg">

<SPAN style="position: absolute; left: 63; top: 111">

<INPUT name=KNl onclick=prD() type=button value=Bnepefl>

</BODY>

</HTML>

Функция prD () предназначена для увеличения или уменьшения порядкового номера рисунка на 1 в зависимости от значения переменной shag и вызывается при нажатии кнопки. Кроме то­го, в ней осуществляются проверки достижения первого и по­следнего порядковых номеров рисунков с целью изменения пе­ременной shag и надписи на кнопке, а также вызов функции рг (). Функция рг () аналогична используемой в предыдущем примере.

Рис. 3.12. Панель параметров инструмента Туре

Необходимые установки параметров текста можно производить как до набора текста, так и после его завершения. В последнем случае текст должен быть предварительно выделен.

Особое внимание следует обратить на выбор гарнитуры шрифта в раскрывающемся списке Set the font family (Установка гарни­туры шрифта) панели параметров. Дело в том, что не все гарни­туры позволяют работать с кириллицей, поэтому перед набором русского текста нужно выбрать гарнитуру, дающую такую воз­можность. Например: Arial, Comic Sans MS, Courier New и др.

Кроме списка гарнитур, на панели параметров располагаются:

О кнопка переключения горизонтальный/вертикальный текст Change the text orientation (Изменить ориентацию текста);

О раскрывающийся список Set the font style (Установка начер­тания шрифта). Для гарнитуры Arial этот список содержит:

[1] Неразрывный пробел называется так потому, что слова, между кото­рыми он находится, не могут быть разнесены браузером на разные стро­ки, и если не будут помещаться на одной строке, то будут перенесены вместе. Поэтому его, в частности, можно использовать для разделения величины и единицы измерения. Например: 120&пЬзр;км/час.

[2] Regular — обычный шрифт;

• Bold — полужирный;

• Italic — курсив;

• Bold Italic — полужирный и курсив.

Для других гарнитур список может содержать не все перечис­ленные виды начертаний;

Техника Web-дизайна для студента

Описание динамических фильтров

Рассмотрим виды динамических фильтров, а также примеры их применения. О Barn (motion=3Ha4eHne, orientation=3Ha4eHne, duration= значение) — создает эффект вертикальных (orientation= vertical) или горизонтальных (orientation=horizontal) за­дергивающихся (motion=in) ИЛИ раскрывающихся (motion=out) штор. …

Динамические фильтры (переходы)

Динамические фильтры часто называют переходами. Такое на­именование не случайно. С одной стороны, в документе они описываются аналогично статическим фильтрам, хотя и требуют для управления дополнительной программы на JavaScript (впро­чем, управляющая …

Как с нами связаться:

Украина:
г.Александрия
тел./факс +38 05235  77193 Бухгалтерия

+38 050 457 13 30 — Рашид - продажи новинок
e-mail: msd@msd.com.ua
Схема проезда к производственному офису:
Схема проезда к МСД

Партнеры МСД

Контакты для заказов оборудования:

Внимание! На этом сайте большинство материалов - техническая литература в помощь предпринимателю. Так же большинство производственного оборудования сегодня не актуально. Уточнить можно по почте: Эл. почта: msd@msd.com.ua

+38 050 512 1194 Александр
- телефон для консультаций и заказов спец.оборудования, дробилок, уловителей, дражираторов, гереторных насосов и инженерных решений.