Введение · 5 минут
Как неподвижный рисунок становится живым
Браузер умеет показывать не только текст и картинки. С помощью JavaScript элементы могут двигаться, менять вид и реагировать на действия пользователя.
Компас D-Lab · занятие 1
Два урока по 55 минут: от простого HTML-файла до страницы, которая реагирует на нажатие кнопки.
Введение · 5 минут
Браузер умеет показывать не только текст и картинки. С помощью JavaScript элементы могут двигаться, менять вид и реагировать на действия пользователя.
Мини-лекция · 10 минут
HTML-файл — обычный текстовый документ. В нём специальные обозначения — теги — сообщают браузеру, что является заголовком, абзацем или кнопкой.
<html>
<head>
<body>
<h1>
<p>
<button>
<h1> открывает элемент, а </h1> закрывает его. Символ / означает конец элемента.
<!doctype html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<title>Моя страница</title>
</head>
<body>
<h1>Привет!</h1>
<p>Это моя первая страница.</p>
<button>Запустить</button>
</body>
</html>
Это моя первая страница.
HTML · справочный экран 1 из 2
Элементы располагаются один внутри другого. Такой порядок называется вложенностью: весь документ находится внутри <html>, а служебная и видимая части — внутри него.
| Запись | Что она сообщает браузеру |
|---|---|
<!doctype html> | Это современный HTML-документ. Это служебная строка, а не обычный тег. |
<html>…</html> | Начало и конец всего HTML-документа. Остальные элементы находятся внутри. |
<head>…</head> | Служебная информация для браузера. Обычно она не показывается внутри страницы. |
<meta charset="UTF-8"> | Задаёт кодировку, чтобы русские буквы отображались правильно. Закрывающий тег не нужен. |
<title>…</title> | Текст на вкладке браузера, а не заголовок внутри страницы. |
<body>…</body> | Всё, что пользователь видит в основном окне страницы. |
<!doctype html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<title>Название вкладки</title>
</head>
<body>
Видимая часть страницы
</body>
</html>
title меняет название вкладки, а видимый заголовок создаёт тег h1 внутри body.HTML · справочный экран 2 из 2
<h1>Заголовок</h1>h1. Браузер показывает его крупнее основного текста.<p>Текст</p>p образует отдельный фрагмент текста.<button>Старт</button>id="title"id даёт элементу уникальное имя.<h1>Привет!</h1>
↑ ↑ ↑
начало текст конец
В закрывающем теге после первой угловой скобки стоит /. Названия открывающего и закрывающего тегов должны совпадать.
<h1>Привет<h1> — забыли /.
<p>Текст</h1> — названия тегов не совпадают.
<button>Старт — элемент не закрыт.
HTML-тренажёр · уровень 1 из 3
Сначала выберите тег слева, затем подходящее объяснение справа. Одинаковые номера обозначают созданную пару.
HTML-тренажёр · уровень 2 из 3
Перетащите карточку в пропуск. Можно также выбрать карточку щелчком, а затем нажать на нужный пропуск. Щелчок по заполненному пропуску освобождает его.
HTML-тренажёр · уровень 3 из 3
Теперь карточек нет. Не забудьте угловые скобки и символ / в закрывающих тегах.
Самостоятельная работа · 20 минут
Работайте по порядку. После каждого действия вернитесь к инструкции и отметьте выполненный шаг. Код лучше набрать самостоятельно.
index.html, который открывается в браузере и содержит ваш заголовок, два абзаца и кнопку.Создайте папку D-Lab, а внутри — папку со своим именем. Все файлы занятия сохраняйте только в ней.
Откройте Notepad++, выберите «Файл → Создать», затем «Файл → Сохранить как». Имя файла: index.html. Тип файла: «Все типы».
Проверьте, что имя не превратилось в index.html.txt.
<!doctype html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<title>Моя первая страница</title>
</head>
<body>
</body>
</html>Между <body> и </body> добавьте собственный текст:
<h1>Привет! Это моя страница</h1>
<p>Меня зовут ...</p>
<p>Я хочу создать ...</p>Под абзацами добавьте строку:
<button>Запустить</button>Пока кнопка ничего не делает. Мы оживим её после перерыва.
Нажмите Ctrl+S. Найдите index.html в папке и откройте двойным щелчком. Страница должна показать ваш текст и кнопку.
Измените заголовок в Notepad++, сохраните файл сочетанием Ctrl+S, вернитесь в браузер и нажмите F5.
Контрольная точка · затем перерыв 10 минут
index.html, открывается в браузере и содержит заголовок, текст и кнопку.Мы добавим JavaScript. Та же самая кнопка изменит цвет страницы и текст заголовка.
Мини-лекция · 12 минут
Событие сообщает программе, что сделал пользователь. При нажатии на кнопку браузер вызывает функцию, а функция выполняет команды.
Нажатие → onclick → changePage() → изменение страницы.
<h1 id="title">Привет!</h1>
<button onclick="changePage()">
Запустить JavaScript
</button>
<script>
function changePage() {
document.body.style.backgroundColor = "orange";
document.getElementById("title").textContent =
"JavaScript работает!";
}
</script>
JavaScript · справочный экран 1 из 2
JavaScript-код выполняется не сам по себе: браузеру нужно знать, когда запускать нужные команды. В нашем примере момент запуска — щелчок по кнопке.
<script>…</script>onclick="changePage()"changePage.function changePage(){ … }changePage()<button onclick="changePage()">
Запустить
</button>
<script>
function changePage() {
// Здесь будут команды
}
</script>
1. Пользователь нажимает кнопку.
2. Срабатывает событие onclick.
3. Браузер находит функцию changePage.
4. Команды внутри фигурных скобок выполняются сверху вниз.
JavaScript · справочный экран 2 из 2
Длинную строку кода не нужно воспринимать как одно непонятное слово. Она состоит из последовательных частей, каждая из которых уточняет, что найти и что изменить.
document.body.style.backgroundColor = "orange";
documentbodystylebackgroundColor= "orange"document.getElementById("title").textContent =
"JavaScript работает!";
getElementById("title")id="title".textContent="…";textContent, backgroundColor и changePage с теми же заглавными буквами.JavaScript-тренажёр · уровень 1 из 3
JavaScript-тренажёр · уровень 2 из 3
Каждая карточка используется один раз. Ориентируйтесь на то, что должно произойти после нажатия.
JavaScript-тренажёр · уровень 3 из 3
Введите текст без подсказок-карточек. Регистр букв имеет значение.
Самостоятельная работа · 21 минута
Продолжайте работу с тем же index.html. После каждого шага сохраняйте файл и при необходимости обновляйте страницу.
В Notepad++ выберите «Файл → Открыть» и найдите файл из первой части занятия.
Замените открывающий тег заголовка:
<h1 id="title">Привет! Это моя страница</h1>id="title" позволяет JavaScript найти именно этот элемент.
Измените тег кнопки:
<button onclick="changePage()">Запустить JavaScript</button>Перед закрывающим тегом </body> добавьте:
<script>
function changePage() {
}
</script>Внутри фигурных скобок функции напишите:
document.body.style.backgroundColor = "orange";
document.getElementById("title").textContent =
"JavaScript работает!";Нажмите Ctrl+S, вернитесь в браузер, нажмите F5, затем кнопку «Запустить JavaScript».
Если ничего не произошло, проверьте написание changePage, кавычки, скобки и точку с запятой.
Замените orange на deepskyblue, purple, gold или другой цвет. Измените появляющийся заголовок.
Если осталось время, дайте одному из абзацев id="message" и добавьте в функцию:
document.getElementById("message").textContent =
"Я изменил страницу с помощью JavaScript!";Финал · 5 минут
Ctrl+S → обновить браузер F5 → проверить результат.Свяжем страницу с отдельным файлом JavaScript, разберём относительные пути и научимся изменять элементы по их id.