WebDix.ru - сайт журнала WEB-DIX
Выпадающий список
Колонка редактора Веб-дизайн Раскрутка Раскрутка Программирование Уроки Photoshop Уроки Flash Журнал Софт Юмор

Menu:


Seo-студия Seovik.com - прогон по каталогам и раскрутка сайтов!

RusFAQ.ru
RusFAQ.ru - ответы на все вопросы. Сообщество профессионалов.
Подробнее


БЫСТРЫЙ ПЕРЕХОД

Выпадающий список

Автор: Nikitar
Сайт: Rusforumz.com


В этом уроке мы коснёмся компонентов, а точнее немного поразбираемся с компонентом ComboBox. Этот урок необычный, так как я поставлю реальную задачу, на которую надо будет найти реальное решение. Все знают, что это 10-й выпуск журнала "Это веб-диз, детка!", который с этого раза был переименован в WebDix. У меня есть 10 ссылок для скачивания соответственно десяти выпусков журнала, они все отличаются только цифрой. Я хочу создать выпадающий список с названиями выпусков и кнопкой "Скачать". И чтобы при нажатии на кнопку скачивался именно тот выпуск, что я выбрал. В общем, результат вы можете увидеть внизу страницы, а вот как это делать, сразу после этого абзаца.

1. Откройте программу Macromedia Flash (любая версия программы от 7-й. Но для просмотра того, что находится внизу страницы вам понадобится 8-й плеер и выше). Создайте новый документ, с любыми размерами, с fps 25 кадров.

2. Открываем окно компонентов Window (Окно) - Components (Компоненты). Ищем компонент ComboBox и перетаскиваем его на рабочую область документа. Там теперь то, что на скриншоте. Выделяем компонент и пишем в instance name (имя Экземпляра) название компонента. Так как мы делаем это для журнала, то назовём компонент journal. И ещё сделаем его пошире, так как стандартный компонент имеет ширину 100, сделаем 200. Заходим на вкладку Parameters (Параметры) и изменяем параметр RowCount (количество строчек) по своему усмотрению. Это параметр, который отвечает сколько строчек будет видно при развёртывании списка, я поставил 5, вы можете поставить сколько захотите, но нужно учитывать тогда размер ролика, чтобы если указано большое число видимых строчек, они не выходили за пределы ролика.

Компонент ComboBox

3. Создаём новый слой, и в первом кадре вставляем такой код (код буду писать по частям и объяснять)

for (i=1; i<=10; i++){
   commonname = "'Это веб-диз, детка' | выпуск ";
   journal.addItem({data:(11-i), label:commonname+(11-i)});
}

В этом коде мы видим цикл. Цикл нужен для того, чтобы автоматически подставлять числа от 1 до 10 в код (так как у нас 10 выпусков). В цикле у нас есть переменная commonname - это общее для всех строчек имя. И наконец вторая строчка в цикле, которая собственно добавляет в разворачивающийся список новое значение с помощью параметра addItem. В скобках у нас есть 2 значения data и label. Data - это номер журнала, просто цифра и ничего более, это нам понадобится потом для кнопки. Label - само значение строки в списке, оно состоит из commonname и переменной i, которая меняется в цикле. Так как я хочу, чтобы 10-й выпуск стоял первым в списке, а 1-й последним, то я пишу (11-i).

4. Если сейчас проверить ролик (ctrl+Enter), то вы увидите разворачивающийся список, но ничего с ним не происходит, можно выбирать строки, но для чего? Вот для этого мы и добавим кнопку скачать. Нарисуйте прямоугольник, выделите его и нажмите F8 - MovieClip (видеоролик). Зайдите в мувиклип и напишите слово "Скачать" поверх прямоугольника. Теперь вернитесь на главную сцену, выделите прямоугольник и в instance name (имя экземпляра) впишите down_btn.

То что должно получиться. Выпадающий список и кнопка скачать

5. В общий код добавляем код, который будет работать при нажатии на кнопку "Скачать".

down_btn.onRelease=function(){
   ppt=Number(journal.value);
   url="http://webdix.ru/fclick.php?ad="+ppt;
   getURL(url,"_blank");
}

Строчек опять не так много, но каждая требует объяснения. Первая и последняя строчки - функция, которая выполняется, когда пользователь нажимает на кнопку down_btn.
Вторая строчка. Мы узнаём значение выбранной позиции в списке на тот момент, когда нажата кнопка и записываем значение в переменную ppt (так как переменная особого смысла не имеет, то я назвал её тремя случайными буквами). В общем, узнаёт значение параметр value? и узнаёт он то значение, что у нас стоит в data (помните у нас при создании списка указывалось два вида данных data и label). Number - переводим значение в числовой вид, чтобы потом можно было с ним оперировать как с числом (это очень важно).
Третья строчка. Переменная url содержит постоянную основую для всех адресов, а также номер выбранной строки, который записан в переменную ppt
Четвёртая строчка. Мы просто переходим по этому адресу с помощью getURL.

6. Жмём ctrl+Enter, и должно получиться нечто, что находится внизу этой страницы. Кстати компоненты достаточно много весят. Например, флэшка что внизу весит аж 56 килобайт, это много для информации, которая там есть.