русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Создание эффекта появления изображения


Дата добавления: 2015-06-12; просмотров: 1137; Нарушение авторских прав


Задача:При входе на домашнюю страницу требуется создать эффект появления верхнего изображения сайта. Изображение должно увеличиваться одновременно по ширине и высоте (см. рис. 18). Эффект появления должен длиться одну секунду.

Реализация эффекта появления изображения сложнее, чем эффект подмены изображения.

Рис. 10.18

Перейдем в верхнюю часть файла index.php, для тега body добавим обработчик события при загрузке страницы:

<body onload="func()">

Событие onload– событие при загрузке страницы. При загрузке страницы будет вызываться функция JavaScript –func(). Эта функция будет находиться в файле puh.js, которыйуже подключен к файлу index.php.

Найдем ячейку таблицы, в которую вставлено верхнее изображение.

Для этой ячейки укажем значения атрибутов: align–горизонтальное выравнивание, valign –вертикальное выравнивание:

<td valign="middle" width="980" align="center">

valign="middle" –выравнивание вертикально по центру,

align="center" –выравнивание горизонтально по центру.

В этом случае содержимое ячейки будет выравниваться по центру.

Для верхнего изображения, для тега img, добавим идентификатор img_logo:

<a href="index.php" target="_self">

<img src="img/shapka.png" border="0" width="980" height="150" id="img_logo" />

</a>

С помощью идентификатора мы будем обращаться к тегу с изображением из JavaScript. Осталось создать программный код JavaScript для реализации эффекта.

Изображение должно появляться из центра. Следовательно, пусть его начальные размеры нулевые.Увеличиваясь по ширине и высоте,изображение должно достигнуть своих полных размеров. Эффект должен происходить одну секунду. Для реализации такого эффекта нам понадобиться таймер (в JavaScript можно использовать таймер, так же как и в Java). Сделаем так, чтобы изменение размеров изображения происходило за 100шагов, тогда один шаг должен выполняться за 10/1000секунды. Значит, временная задержка таймера будет 10/1000секунды. Создание таймера в JavaScriptделается так:



var inter = window.setInterval(vipoln,10);

window –это обращение к окну браузера, setInterval() –указывает имя функции,которая будет вызываться и устанавливать временную задержку таймера. Через переменную inter таймер при необходимости можно удалить:

window.clearInterval(inter);

clearInterval()удаляет таймер.

Размеры изображенияshapka.png составляют 980x150, чтобы за 100шаговполучить полный размер необходимо увеличивать за один шаг на 9.8пикселя по ширине и1.5пикселя по высоте. Таймер должен изменять ширину и высоту изображения, постепенно увеличивая их.

Перейдем в файл puh.js и начнем писать программный код JavaScript:

// Переменная для таймера

var inter;

 

// Переменные для изменения размеров

var delta1, delta2, delta;

 

// Переменная для получения тега веб-страницы

var tmp;

В самом верху объявим переменные. Переменная interбудет отвечать за таймер, переменная delta1будет хранить текущую ширину,переменная delta2будет хранить текущую высоту, переменнаяdeltaбудет хранить количество выполненных шагов,переменная tmp будет использоваться для работы с тегом. Под переменными запишем функцию:

// Функция, выполняющая изменение размеров изображения

function vipoln()

{

delta1+=9.8; //Увеличиваем ширину

delta2+=1.5; //Увеличиваем высоту

delta++; //Считаем количество шагов

//Устанавливаем CSS для ширины

tmp.style.width = ""+delta1+"px";

//Устанавливаем CSS для высоты

tmp.style.height = ""+delta2+"px";

// Если уже выполнено 100 шагов

if (delta>=100)

{

//Устанавливаем настоящие размеры изображения

tmp.style.width = "980px";

tmp.style.height = "150px";

// Удаляем таймер

window.clearInterval(inter);

}

}

Функция vipoln()будет вызываться таймером через каждые 10/1000 секунды.

delta1+=9.8; // Увеличиваем ширину

delta2+=1.5; //Увеличиваем высоту

delta++; //Считаем количество шагов

Сначала увеличиваем ширину, высоту и количество проделанных шагов.

//Устанавливаем CSS для ширины

tmp.style.width = ""+delta1+"px";

//Устанавливаем CSS для высоты

tmp.style.height = ""+delta2+"px";

Далее устанавливаемCSS-свойства ширины и высоты изображения. Обратите внимание, что значения CSSявляются строковым типом данных и указываются в кавычках.

// Если уже выполнено 100 шагов

if (delta>=100)

Если уже выполнено100шагов –это значит, что пора установить нормальные размеры изображения и остановить таймер:

// Устанавливаем настоящие размеры изображения

tmp.style.width = "980px";

tmp.style.height = "150px";

// Удаляем таймер

window.clearInterval(inter);

Ниже в файле puh.js необходимо создать еще одну функцию:

// Функция, которая вызывается при загрузке страницы

function func()

{

// Определяем текущий адрес (ссылку)

var str = location.href;

// Проверяем, что в адресе нет символа равно: '='

if (str.indexOf('=', 0)>=0) return;

// Попытка-исключение

try

{

//Находим тег верхнего изображения по идентификатору

tmp = document.getElementById("img_logo");

}

catch (e)

{

return;

}

 

// Устанавливаем начальные значения ширины, высоты

// и количества шагов по нулям

delta=0;

delta1=0;

delta2=0;

// Запускаем таймер с выполнением функции через

// с указанным интервалом

inter = window.setInterval(vipoln,10);

}

Именно функция func() вызывается в обработчике события при загрузке страницы.

// Определяем текущий адрес (ссылку)

var str = location.href;

Определяем текущий адрес. Это значение из адресной строки браузера. Эффект появления должен срабатывать только при переходе на домашнюю страницу, поэтому нужно определить текущий раздел. В любом разделе,кроме домашней страницы, в адресной строке имеется значение параметра id,например: http://puh/index.php?id=2.

Мы будем искать символ равенства (=),если его нет, - значит мы на домашней странице.

//Проверяем, что в адресе нет символа равно: '='

if (str.indexOf('=', 0)>=0) return;

indexOf() выполняет поиск и возвращает позицию найденного символа, если символ не найден, то возвращается: -1, второй параметр: 0 –указывает номер символа, с которого необходимо начинать поиск.

 

// Попытка-исключение

try

{

//Находим тег верхнего изображения по идентификатору

tmp = document.getElementById("img_logo");

}

catch (e)

{

return;

}

Далее находим тег по идентификатору. Выполняем поиск через попытку-исключение. Если тег с указанным идентификатором не будет найден –сработает блокcatch.

//Устанавливаем начальные значения ширины,высоты

// и количества шагов по нулям

delta=0;

delta1=0;

delta2=0;

Перед запуском таймера устанавливаем начальные значения переменных: количество выполненных шагов,ширина, высота.

// Запускаем таймер с выполнением функции через

// с указанным интервалом

inter = window.setInterval(vipoln,10);

В самом конце функции запускаем таймер.

Получается следующая схема вызова функций: каждый раз при загрузке страницы вызывается функцияfunc(). Если это домашняя страница (раздел Главная), то запускается таймер. Таймер с интервалом10/1000 секунды вызывает функцию vipoln(). Когда проходит одна секунда –таймер удаляется внутри функции vipoln().

Посмотрим на результат в браузере. При переходе в раздел Главная, запускается эффект появления верхнего изображения.

Итог занятия:На этом занятии мы:• добавили содержимое двух разделов сайта: Главная, Контакты;• поговорили о предназначении JavaScript;• сделали два визуальных эффекта при помощи JavaScript.

Занятие 11. "Создание раздела сайта: Заказать"

На этом занятии мы создадим последний раздел сайта: - реализуем раздел Заказать; - изучим методику отправления данных с веб-страницы; - рассмотрим методику приема данных из PHP; - изучим запись в файл с помощью PHP.

На этом занятии мы создадим последний раздел нашего сайта-Заказать. Этот раздел будет самым сложным по реализации,для его создания мы изучим несколько новых тем. Давайте посмотрим, что у нас должно получиться в результате (см.рис. 11.1):

Рис. 11.1

В самом верху представлен заголовок, ниже находится общая информация по заказу товаров. Еще ниже находится таблица с текущими остатками товаров (см. рис.1). В самом низу расположена форма для отправки контактных данных(см. рис. 11.2):

Рис. 11.2

При нажатии на кнопкуЗаказать звонок –над таблицей с остатками появляется информационное сообщение. В сообщении выводится информация о неверном заполнении контактных данных или сообщение об успешном приеме заявки (см. рис. 11.3):

Рис. 11.3

При успешном приеме заявки –данные передаются на сайт.



<== предыдущая лекция | следующая лекция ==>
Создание эффекта подмены изображения | Создание верхней части раздела


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.113 сек.