Введение
В этом проекте вы научитесь реализовывать функциональность, похожую на портал, на веб-странице. Функция портала позволяет пользователям быстро находить и перемещаться по нужному контенту на длинной веб-странице.
👀 Предварительный просмотр

🎯 Задачи
В этом проекте вы научитесь:
- настраивать файлы и структуру проекта;
- реализовывать функциональность портала с использованием JavaScript и jQuery;
- обеспечивать изменение цвета боковых кнопок в зависимости от положения скролла пользователя.
🏆 Достижения
После завершения этого проекта вы сможете:
- структурировать и настраивать веб-разработку проекта;
- использовать JavaScript и jQuery для манипуляции с DOM и обработки взаимодействий пользователя;
- реализовать функцию, похожую на портал, для улучшения пользовательского опыта на длинной веб-странице.
Настройка структуры проекта
В этом шаге вы настроите файлы и структуру проекта. Следуйте шагам ниже, чтобы выполнить этот шаг:
- Откройте папку проекта. Структура каталогов следующая:
├── index.html
├── css
├── images
└── js
├── index.js
└── jquery-3.6.0.min.js
В этой структуре:
index.html- главная страница.css- папка для файлов стилей.images- папка для ресурсов изображений.js/index.js- JS-файл, который необходимо заполнить.js/jquery-3.6.0.min.js- файл библиотеки jQuery.
Нажмите кнопку Go Live в нижнем правом углу WebIDE, чтобы запустить проект.
Откройте "Web 8080" в верхней части ВМ и обновите ее вручную, чтобы увидеть страницу.
Реализовать функциональность портала
В этом шаге вы дополните код в файле js/index.js для реализации функции портала.
- Добавьте следующий код в файл
js/index.js:
$(window).scroll(function () {
// Когда страница прокручивается в указанный диапазон, соответствующие боковые кнопки меняют цвет.
let top = scrollY;
$("#lift a").removeClass("active-color");
if (top >= 0 && top < 960) {
$("#lift a:nth-of-type(1)").addClass("active-color");
} else if (top >= 960 && top <= 1920) {
$("#lift a:nth-of-type(2)").addClass("active-color");
} else {
$("#lift a:nth-of-type(3)").addClass("active-color");
}
});
function toFunction(scrollTopVal) {
// Нажатие на кнопку приводит к прокрутке страницы в указанную позицию.
window.scrollTo(0, scrollTopVal);
}
- Объяснение:
- Функция
$(window).scroll()используется для определения позиции прокрутки страницы. - Когда страница прокручивается в указанный диапазон, соответствующая боковая кнопка получает активный стиль (
.active-color), а стили других кнопок устанавливаются по умолчанию (.default-color). - Функция
toFunction()используется для прокрутки страницы в указанную позицию при нажатии пользователем на боковые кнопки.
- Функция
Тестировать функциональность портала
- Вернитесь в браузер и обновите страницу.
- Нажмите на кнопку верхнюю, среднюю или нижнюю слева от страницы и наблюдайте, как страница прокручивается в соответствующий диапазон.
- Проверьте, что соответствующая боковая кнопка получает активный стиль (
.active-color), когда страница прокручивается в указанный диапазон.
Финальный результат показан ниже:

Поздравляем! Вы успешно реализовали функциональность портала в своем проекте.
Резюме
Поздравляем! Вы завершили этот проект. Вы можете выполнить больше лабораторных работ в LabEx, чтобы улучшить свои навыки.



