Чтение онлайн

на главную - закладки

Жанры

JavaScript. Подробное руководство, 6-е издание
Шрифт:

Глава 15 «Работа с документами» переходит к исследованию фактической работы, выполняемой с помощью JavaScript на стороне клиента, - управлению содержимым документа HTML. Она покажет вам, как выбирать определенные элементы HTML из документов, как устанавливать HTML-атрибуты этих элементов, как изменять содержимое элементов и как добавлять в документ новые элементы. Следующая функция демонстрирует некоторые из простейших приемов поиска и изменения элементов документа:

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

// Если документ не содержит такой области, она создается.

function debug(msg) {

// Отыскать область для отладочных сообщений в документе, поиск по HTML-атрибуту id

var log = document.getElementByld("debuglog");

// Если элемент с атрибутом id="debuglog" отсутствует, создать его.

if (!log) {

log = document.createElementC'div"); // Создать элемент <div>

log.id = "debuglog"; // Установить атрибут id

log.innerHTML = "<h1>Debug Log</h1>"; // Начальное содержимое

document.body.appendChild(log); // Добавить в конец документа

}

// Теперь обернуть сообщение в теги <рге> и добавить в элемент log

var рге = document.createElement("pre"); // Создать тег <рге>

var text = document.createTextNode(msg); // Обернуть msg в текстовый узел

pre.appendChild(text); // Добавить текст в тег <рге>

log.appendChild(pre); // Добавить <рге> в элемент log

}

Глава 15 демонстрирует, как с помощью JavaScript можно управлять HTML-элементами, которые определяют содержимое веб-страниц. Глава 16 «Каскадные таблицы стилей» демонстрирует, как с помощью JavaScript можно управлять каскадными таблицами стилей CSS, определяющими представление содержимого. Чаще всего для этой цели используется атрибут HTML-элементов style или class:

function hide(e, reflow) { // Скрывает элемент e, изменяя его стиль

if (reflow) {// Если 2-й аргумент true,

e.style.display = "none" // скрыть элемент и использовать

} // занимаемое им место

else { // Иначе

e.style.visibility = "hidden"// сделать е невидимым, но оставить

} // занимаемое им место пустым

}

function highlight(е) { // Выделяет е, устанавливая класс CSS

// Просто добавляет или переопределяет HTML-атрибут class.

// Предполагается, что таблица стилей CSS уже содержит определение класса "hilite"

if (!е.className)

e.className = "hilite";

else

e.className += " hilite";

}

JavaScript позволяет не только управлять содержимым и оформлением HTML-документов в броузерах, но и определять поведение этих документов с помощью обработчиков событий. Обработчик событий - это функция JavaScript, которая регистрируется в броузере и вызывается броузером, когда возникает событие определенного типа. Таким событием может быть щелчок мышью или нажатие клавиши (или какое-то движение двумя пальцами на экране смартфона). Обработчик события может также вызываться броузером по окончании загрузки документа, при изменении размеров окна броузера или при вводе данных в элемент HTML-формы. Глава 17 «Обработка событий» описывает, как определять и регистрировать обработчики событий и как вызываются эти обработчики при появлении событий.

Простейший способ объявления обработчиков событий заключается в использовании HTML-атрибутов, имена которых начинаются с приставки «оп». Обработчик «onclick» особенно удобен при создании простых тестовых программ. Предположим, что вы сохранили функции debug и hide, представленные выше, в файлах с именами debug.js и hide.js. В этом случае можно было бы написать простой тестовый HTML-файл, использующий элементы <button> с атрибутами onclick, определяющими обработчики событий:

<script src="debug.js"></script>

<script src="hide. js"x/script>

Hello

<button onclick="hide(this,true); debug('hide button 1'); ">Hide1</button>

<button onclick="hide(this); debug('hide button 2');">Hide2</button>

World

Поделиться:
Популярные книги

Черный Маг Императора 14

Герда Александр
14. Черный маг императора
Фантастика:
аниме
сказочная фантастика
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Черный Маг Императора 14

Гримуар темного лорда VIII

Грехов Тимофей
8. Гримуар темного лорда
Фантастика:
боевая фантастика
альтернативная история
аниме
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Гримуар темного лорда VIII

Неудержимый. Книга XXVII

Боярский Андрей
27. Неудержимый
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Неудержимый. Книга XXVII

Сильнейший Столп Империи. Книга 4

Ермоленков Алексей
4. Сильнейший Столп Империи
Фантастика:
фэнтези
аниме
фантастика: прочее
попаданцы
5.00
рейтинг книги
Сильнейший Столп Империи. Книга 4

Сэру Филиппу, с любовью

Куин Джулия
5. Бриджертоны
Любовные романы:
исторические любовные романы
8.08
рейтинг книги
Сэру Филиппу, с любовью

Первый среди равных. Книга II

Бор Жорж
2. Первый среди Равных
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Первый среди равных. Книга II

Барон не признает правила

Ренгач Евгений
12. Закон сильного
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Барон не признает правила

Черный Маг Императора 18

Герда Александр
18. Черный маг императора
Фантастика:
юмористическое фэнтези
аниме
сказочная фантастика
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Черный Маг Императора 18

Патриот. Смута

Колдаев Евгений Андреевич
1. Патриот. Смута
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Патриот. Смута

Последний Герой. Том 2

Дамиров Рафаэль
2. Последний герой
Фантастика:
попаданцы
альтернативная история
4.50
рейтинг книги
Последний Герой. Том 2

Офицер Красной Армии

Поселягин Владимир Геннадьевич
2. Командир Красной Армии
Фантастика:
попаданцы
8.51
рейтинг книги
Офицер Красной Армии

Идеальный мир для Лекаря 10

Сапфир Олег
10. Лекарь
Фантастика:
юмористическое фэнтези
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 10

Александр Агренев. Трилогия

Кулаков Алексей Иванович
Александр Агренев
Фантастика:
альтернативная история
9.17
рейтинг книги
Александр Агренев. Трилогия

Законник Российской Империи

Ткачев Андрей Юрьевич
1. Словом и делом
Фантастика:
городское фэнтези
альтернативная история
аниме
5.00
рейтинг книги
Законник Российской Империи