- ВВЕДЕНИЕ В JAVASCRIPT
- Переменные в JavaScript
- Семь вариаций на тему “Hello, world!”
- Вариация первая: самый простая
- Объявление переменных
- Вариация вторая: с секретным исходным текстом
- Присвоение значения переменным
- Вариация третья: с переменной и функциями
- Типы данных
- Вариация четвертая: создание страницы “на лету”
- Вариация пятая: с диалоговой панелью
- Вариация шестая: обработка события
- Вариация седьмая: с определением типа браузера
- Унарные операторы
- Бегущий текст в строке состояния браузера
- Бинарные операторы
- Встроенные объекты
- Встроенные функции
- Встроенный класс Date
- Встроенный класс Math
- Загрузка документа HTML в окно браузера
- Иерархия объектов в формах
- КЛАССЫ И ОБЪЕКТЫ В JAVASCRIPT
- Массивы в JavaScript
- Методы объекта document
- Объект document
- Объект window
- Объекты браузера
- Объекты на базе классов, создаваемых программистом
- Объекты, входящие в состав форм
- Ограничение времени реакции пользователя
- Оператор <FORM>
- Оператор присваивания
- Операторы для работы с отдельными битами
- Операторы отношения
- Операторы сдвига
- Операторы цикла
- Открываем новое окно
- Переключатель checkbox
- Плавное изменение цвета фона документа HTML
- Преобразование типов данных
- Пример формы с переключателями
- Примеры использования операторов цикла
- Примеры сценариев, работающих со списками
- Прочие операторы
- РАБОТА С ФОРМАМИ
- Свойства объекта document
- Свойства объекта form
- События для объекта window
- Список select
- Ссылки и метки в документе
- Старшинство операторов JavaScript
- Сценарии, работающие с объектами window
- Три типа объектов JavaScript
- Условные операторы
- Форма и ее свойства
- Функции в языке сценариев JavaScript
- Цветовое оформление документа
Плавное изменение цвета фона документа HTML
Просматривая страницы некоторых серверов Web, вы могли обратить внимание, что цвет их фона начинает плавно изменяться сразу после загрузки, становясь постепенно светлее или наоборот, темнее. Аналогичный эффект может быть получен не только для цвета фона, но и для цвета текста, а также гипертекстовых ссылок. Вы можете сделать, например, так, чтобы строки текста постепенно проявлялись на фоне страницы или исчезали (чтобы посетитель не успел их прочесть).
Сложный на первый взгляд эффект достигается чрезвычайно просто: изменением свойства bgColor объекта document. В листинге 2.10 мы привели пример сценария, который после загрузки документа HTML в окно браузера изменяет цвет его фона с белого на черный.
Листинг 2.10. Файл chapter2/ChangeBkg/ChangeBkg.php
Color Links
0)
{
nRed -= 10;
nGreen -= 10;
nBlue -= 10;
}
timer = window.setTimeout(cmd, 50);
}
function dec2hex(nDec)
{
var szHexTable="0123456789ABCDEF";
var szResult = "";
var szBuf="";
var nRem = 0;
var bNegative=false;
if(nDec < 0)
{
bNegative=true;
nDec = -nDec;
}
nTmp=nDec;
while(true)
{
nRem = nTmp % 16;
nTmp = nTmp / 16;
if(Math.floor(nTmp) < 16)
break;
szBuf=szHexTable.charAt(nRem);
szResult = szBuf.concat(szResult);
}
szBuf=szHexTable.charAt(nRem);
szResult = szBuf.concat(szResult);
if(Math.floor(nTmp) != 0)
{
szBuf=szHexTable.charAt(Math.floor(nTmp));
szResult = szBuf.concat(szResult);
}
if(bNegative == true)
return ("-" + szResult);
else
return szResult;
}
// -->
Локальный раздел
Этот локальный раздел вы можете просмотреть, даже если
ваш компьютер не подключен к Internet
Работа сценария начинается после загрузки документа с вызова функции colorShift. Это вызов расположен в конце области тела документа HTML.
Функция постепенно уменьшает значение красной, зеленой и голубой компоненты цвета. Начальные значения этих компонент хранятся в глобальных переменных nRed, nGreen и nBlue:
var nRed = 255;
var nGreen = 255;
var nBlue = 255;
Значение цвета фона формируется следующим образом:
document.bgColor = "#" +
dec2hex(nRed) + dec2hex(nGreen) + dec2hex(nBlue);
Здесь при помощи функции dec2hex мы преобразуем десятичное значение цветовой компоненты в шестнадцатеричное. Эта функция будет описана подробно позже в разделе “Шестнадцатеричный калькулятор” третьей главы.
Далее после установки цвета фона мы проверяем значение красной цветовой компоненты, и если оно больше нуля, уменьшаем его и значение других цветовых компонент на 10:
if(nRed > 0)
{
nRed -= 10;
nGreen -= 10;
nBlue -= 10;
}
Для того чтобы функция colorShift вызывалась периодически, мы используем метод setTimeout, вызывая его в конце функции:
var cmd = "colorShift()";
timer = window.setTimeout(cmd, 50);
В результате функция colorShift будет вызываться каждые 50 миллисекунд.
