-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathmodels.js
126 lines (97 loc) · 3.72 KB
/
models.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
document.addEventListener('DOMContentLoaded', function () {
const burger = document.querySelector('.burger');
const search = document.querySelector('.search');
const menuOverlay = document.querySelector('.menu-overlay');
const poisk = document.querySelector('.poisk');
const initialPoiskDisplay = window.getComputedStyle(poisk).getPropertyValue('display');
burger.addEventListener('click', toggleMenuOverlay);
search.addEventListener('click', togglePoisk);
function toggleMenuOverlay() {
if (menuOverlay.style.display === 'block') {
menuOverlay.style.display = 'none';
} else {
menuOverlay.style.display = 'block';
}
poisk.style.display = initialPoiskDisplay;
}
function togglePoisk() {
if (poisk.style.display === 'block' || poisk.style.display === 'flex') {
poisk.style.display = 'none';
} else {
poisk.style.display = 'flex';
}
if (menuOverlay.style.display === 'block') {
menuOverlay.style.display = 'none';
}
}
});
function submitForm(event) {
event.preventDefault();
const searchInput = document.getElementById('searchInput');
const inputValue = searchInput.value.trim();
if (inputValue !== '') {
console.log('Отправка формы с содержимым:', inputValue);
searchInput.value = '';
} else {
console.log('Поле ввода пустое. Ничего не отправлено.');
}
}
document.addEventListener('DOMContentLoaded', function() {
const searchForm = document.getElementById('searchForm');
searchForm.addEventListener('submit', submitForm);
});
const checkboxes = document.querySelectorAll('.custom-checkbox');
checkboxes.forEach(checkbox => {
checkbox.addEventListener('change', function() {
if (this.checked) {
checkboxes.forEach(otherCheckbox => {
if (otherCheckbox !== this) {
otherCheckbox.checked = false;
}
});
}
});
});
function togglePics(checkboxId, ...gridItemClasses) {
const checkbox = document.getElementById(checkboxId);
const isChecked = checkbox.checked;
if (isChecked) {
const otherCheckboxes = document.querySelectorAll('.custom-checkbox');
otherCheckboxes.forEach(function(otherCheckbox) {
if (otherCheckbox.id !== checkboxId && otherCheckbox.checked) {
otherCheckbox.checked = false;
}
});
}
const allGridItems = document.querySelectorAll('.grid-item');
allGridItems.forEach(function(gridItem) {
const isRelatedGridItem = gridItemClasses.some(function(gridItemClass) {
return gridItem.classList.contains(gridItemClass);
});
gridItem.style.display = isChecked ? (isRelatedGridItem ? "block" : "none") : "block";
});
}
function toggleCheckbox(checkboxId) {
const checkbox = document.getElementById(checkboxId);
checkbox.checked = !checkbox.checked;
const gridItemClasses = getGridItemClasses(checkboxId);
togglePics(checkboxId, ...gridItemClasses);
}
function getGridItemClasses(checkboxId) {
switch (checkboxId) {
case 'checkbox1':
return ['grid-item1'];
case 'checkbox2':
return ['grid-item2', 'grid-item7'];
case 'checkbox3':
return ['grid-item4', 'grid-item8', 'grid-item9', 'grid-item13', 'grid-item17'];
case 'checkbox4':
return ['grid-item4', 'grid-item13'];
case 'checkbox5':
return ['grid-item12', 'grid-item14'];
case 'checkbox6':
return ['grid-item1'];
default:
return [];
}
}