Skip to content

Commit c7eb763

Browse files
committed
changes
1 parent cef66e8 commit c7eb763

File tree

3 files changed

+387
-347
lines changed

3 files changed

+387
-347
lines changed

assets/images/project-lawspot.png

95.3 KB
Loading

assets/js/script.js

Lines changed: 20 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,18 @@
1-
'use strict';
2-
3-
1+
"use strict";
42

53
// element toggle function
6-
const elementToggleFunc = function (elem) { elem.classList.toggle("active"); }
7-
8-
4+
const elementToggleFunc = function (elem) {
5+
elem.classList.toggle("active");
6+
};
97

108
// sidebar variables
119
const sidebar = document.querySelector("[data-sidebar]");
1210
const sidebarBtn = document.querySelector("[data-sidebar-btn]");
1311

1412
// sidebar toggle functionality for mobile
15-
sidebarBtn.addEventListener("click", function () { elementToggleFunc(sidebar); });
16-
17-
13+
sidebarBtn.addEventListener("click", function () {
14+
elementToggleFunc(sidebar);
15+
});
1816

1917
// testimonials variables
2018
const testimonialsItem = document.querySelectorAll("[data-testimonials-item]");
@@ -31,92 +29,78 @@ const modalText = document.querySelector("[data-modal-text]");
3129
const testimonialsModalFunc = function () {
3230
modalContainer.classList.toggle("active");
3331
overlay.classList.toggle("active");
34-
}
32+
};
3533

3634
// add click event to all modal items
3735
for (let i = 0; i < testimonialsItem.length; i++) {
38-
3936
testimonialsItem[i].addEventListener("click", function () {
40-
4137
modalImg.src = this.querySelector("[data-testimonials-avatar]").src;
4238
modalImg.alt = this.querySelector("[data-testimonials-avatar]").alt;
43-
modalTitle.innerHTML = this.querySelector("[data-testimonials-title]").innerHTML;
44-
modalText.innerHTML = this.querySelector("[data-testimonials-text]").innerHTML;
39+
modalTitle.innerHTML = this.querySelector(
40+
"[data-testimonials-title]"
41+
).innerHTML;
42+
modalText.innerHTML = this.querySelector(
43+
"[data-testimonials-text]"
44+
).innerHTML;
4545

4646
testimonialsModalFunc();
47-
4847
});
49-
5048
}
5149

52-
53-
5450
// add click event to modal close button
5551
modalCloseBtn.addEventListener("click", testimonialsModalFunc);
5652
overlay.addEventListener("click", testimonialsModalFunc);
5753

58-
59-
6054
// custom select variables
6155
const select = document.querySelector("[data-select]");
6256
const selectItems = document.querySelectorAll("[data-select-item]");
6357
const selectValue = document.querySelector("[data-selecct-value]");
6458
const filterBtn = document.querySelectorAll("[data-filter-btn]");
6559

66-
select.addEventListener("click", function () { elementToggleFunc(this); });
60+
select.addEventListener("click", function () {
61+
elementToggleFunc(this);
62+
});
6763

6864
// add event in all select items
6965
for (let i = 0; i < selectItems.length; i++) {
7066
selectItems[i].addEventListener("click", function () {
71-
7267
let selectedValue = this.innerText.toLowerCase();
7368
selectValue.innerText = this.innerText;
7469
elementToggleFunc(select);
7570
filterFunc(selectedValue);
76-
7771
});
7872
}
7973

8074
// filter variables
8175
const filterItems = document.querySelectorAll("[data-filter-item]");
8276

8377
const filterFunc = function (selectedValue) {
84-
8578
for (let i = 0; i < filterItems.length; i++) {
86-
8779
if (selectedValue === "all") {
8880
filterItems[i].classList.add("active");
89-
} else if (selectedValue === filterItems[i].dataset.category) {
81+
} else if (filterItems[i].dataset.category.includes(selectedValue)) {
9082
filterItems[i].classList.add("active");
9183
} else {
9284
filterItems[i].classList.remove("active");
9385
}
94-
9586
}
96-
97-
}
87+
};
9888

9989
// add event in all filter button items for large screen
10090
let lastClickedBtn = filterBtn[0];
10191

10292
for (let i = 0; i < filterBtn.length; i++) {
103-
10493
filterBtn[i].addEventListener("click", function () {
105-
10694
let selectedValue = this.innerText.toLowerCase();
10795
selectValue.innerText = this.innerText;
10896
filterFunc(selectedValue);
10997

11098
lastClickedBtn.classList.remove("active");
11199
this.classList.add("active");
112100
lastClickedBtn = this;
113-
114101
});
115-
116102
}
117103

118-
119-
120104
// contact form variables
121105
const form = document.querySelector("[data-form]");
122106
const formInputs = document.querySelectorAll("[data-form-input]");
@@ -125,27 +109,22 @@ const formBtn = document.querySelector("[data-form-btn]");
125109
// add event to all form input field
126110
for (let i = 0; i < formInputs.length; i++) {
127111
formInputs[i].addEventListener("input", function () {
128-
129112
// check form validation
130113
if (form.checkValidity()) {
131114
formBtn.removeAttribute("disabled");
132115
} else {
133116
formBtn.setAttribute("disabled", "");
134117
}
135-
136118
});
137119
}
138120

139-
140-
141121
// page navigation variables
142122
const navigationLinks = document.querySelectorAll("[data-nav-link]");
143123
const pages = document.querySelectorAll("[data-page]");
144124

145125
// add event to all nav link
146126
for (let i = 0; i < navigationLinks.length; i++) {
147127
navigationLinks[i].addEventListener("click", function () {
148-
149128
for (let i = 0; i < pages.length; i++) {
150129
if (this.innerHTML.toLowerCase() === pages[i].dataset.page) {
151130
pages[i].classList.add("active");
@@ -156,6 +135,5 @@ for (let i = 0; i < navigationLinks.length; i++) {
156135
navigationLinks[i].classList.remove("active");
157136
}
158137
}
159-
160138
});
161-
}
139+
}

0 commit comments

Comments
 (0)