e-cadastre.ru/Templates/user/js/global.js
Это файл JavaScript для сайта e-cadastre.ru, который является основой для обработки событий и выполнения действий при взаимодействии пользователя со страницами сайта.
Содержание
Файл global.js содержит следующие функции:
- initDropDownMenu(): инициализация выпадающего меню на сайте;
- initSlider(): инициализация слайдера на сайте;
- initSearchForm(): инициализация формы поиска на сайте;
- initMap(): инициализация карты на сайте.
Использование
Данный файл предназначен для использования только на сайте e-cadastre.ru и не должен использоваться на других сайтах.
Описание функций
initDropDownMenu()
Функция инициализации выпадающего меню на сайте. Задает обработчики событий для элементов меню и реализует логику открытия/закрытия меню.
function initDropDownMenu() {
const menuItems = document.querySelectorAll('.dropdown-menu__item');
const menuLinks = document.querySelectorAll('.dropdown-menu__link');
menuLinks.forEach((link) => {
link.addEventListener('click', (e) => {
const dropdownMenu = e.target.parentElement.querySelector('.dropdown-menu');
dropdownMenu.classList.toggle('show');
});
});
menuItems.forEach((item) => {
item.addEventListener('mouseleave', (e) => {
const dropdownMenu = e.target.querySelector('.dropdown-menu');
dropdownMenu.classList.remove('show');
});
});
}
initSlider()
Функция инициализации слайдера на сайте. Задает обработчики событий для элементов слайдера и реализует логику переключения.
function initSlider() {
const sliderItems = document.querySelectorAll('.slider__item');
const sliderButtons = document.querySelectorAll('.slider__button');
let currentIndex = 0;
sliderButtons.forEach((button) => {
button.addEventListener('click', (e) => {
if (e.target.classList.contains('slider__button--prev')) {
currentIndex--;
} else {
currentIndex++;
}
if (currentIndex < 0) {
currentIndex = sliderItems.length - 1;
}
if (currentIndex >= sliderItems.length) {
currentIndex = 0;
}
sliderItems.forEach((item) => {
item.classList.remove('show');
});
sliderItems[currentIndex].classList.add('show');
});
});
}
initSearchForm()
Функция инициализации формы поиска на сайте. Задает обработчики событий для элементов формы и реализует отправку данных на сервер.
function initSearchForm() {
const searchForm = document.querySelector('.search-form');
const searchField = document.querySelector('.search-form__field');
searchForm.addEventListener('submit', (e) => {
e.preventDefault();
const formData = new FormData();
formData.append('query', searchField.value);
fetch('/search', {
method: 'POST',
body: formData,
}).then((response) => {
return response.json();
}).then((data) => {
console.log(data);
}).catch((error) => {
console.error(error);
});
});
}
initMap()
Функция инициализации карты на сайте. Задает обработчики событий для элементов карты и реализует отображение объектов на карте.
function initMap() {
const mapItems = document.querySelectorAll('.map__item');
mapItems.forEach((item) => {
item.addEventListener('click', (e) => {
const objectId = e.target.dataset.objectId;
fetch(`/object?id=${objectId}`).then((response) => {
return response.json();
}).then((data) => {
console.log(data);
}).catch((error) => {
console.error(error);
});
});
});
}
Заключение
Файл global.js является важной частью сайта e-cadastre.ru, так как он содержит функции, обеспечивающие основную функциональность сайта. Он используется только на данном сайте и его изменение может привести к нарушению работы сайта.