'use strict'; // element toggle function const elementToggleFunc = function (elem) { elem.classList.toggle("active"); } // sidebar variables const sidebar = document.querySelector("[data-sidebar]"); const sidebarBtn = document.querySelector("[data-sidebar-btn]"); // sidebar toggle functionality for mobile sidebarBtn.addEventListener("click", function () { elementToggleFunc(sidebar); }); // testimonials variables const testimonialsItem = document.querySelectorAll("[data-testimonials-item]"); const modalContainer = document.querySelector("[data-modal-container]"); const modalCloseBtn = document.querySelector("[data-modal-close-btn]"); const overlay = document.querySelector("[data-overlay]"); // modal variable const modalImg = document.querySelector("[data-modal-img]"); const modalTitle = document.querySelector("[data-modal-title]"); const modalText = document.querySelector("[data-modal-text]"); // modal toggle function const testimonialsModalFunc = function () { modalContainer.classList.toggle("active"); overlay.classList.toggle("active"); } // add click event to all modal items for (let i = 0; i < testimonialsItem.length; i++) { testimonialsItem[i].addEventListener("click", function () { modalImg.src = this.querySelector("[data-testimonials-avatar]").src; modalImg.alt = this.querySelector("[data-testimonials-avatar]").alt; modalTitle.innerHTML = this.querySelector("[data-testimonials-title]").innerHTML; modalText.innerHTML = this.querySelector("[data-testimonials-text]").innerHTML; testimonialsModalFunc(); }); } // add click event to modal close button modalCloseBtn.addEventListener("click", testimonialsModalFunc); overlay.addEventListener("click", testimonialsModalFunc); // custom select variables const select = document.querySelector("[data-select]"); const selectItems = document.querySelectorAll("[data-select-item]"); const selectValue = document.querySelector("[data-selecct-value]"); const filterBtn = document.querySelectorAll("[data-filter-btn]"); select.addEventListener("click", function () { elementToggleFunc(this); }); // add event in all select items for (let i = 0; i < selectItems.length; i++) { selectItems[i].addEventListener("click", function () { let selectedValue = this.innerText.toLowerCase(); selectValue.innerText = this.innerText; elementToggleFunc(select); filterFunc(selectedValue); }); } // filter variables const filterItems = document.querySelectorAll("[data-filter-item]"); const filterFunc = function (selectedValue) { for (let i = 0; i < filterItems.length; i++) { if (selectedValue === "all") { filterItems[i].classList.add("active"); } else if (selectedValue === filterItems[i].dataset.category) { filterItems[i].classList.add("active"); } else { filterItems[i].classList.remove("active"); } } } // add event in all filter button items for large screen let lastClickedBtn = filterBtn[0]; for (let i = 0; i < filterBtn.length; i++) { filterBtn[i].addEventListener("click", function () { let selectedValue = this.innerText.toLowerCase(); selectValue.innerText = this.innerText; filterFunc(selectedValue); lastClickedBtn.classList.remove("active"); this.classList.add("active"); lastClickedBtn = this; }); } // contact form variables const form = document.querySelector("[data-form]"); const formInputs = document.querySelectorAll("[data-form-input]"); const formBtn = document.querySelector("[data-form-btn]"); // add event to all form input field for (let i = 0; i < formInputs.length; i++) { formInputs[i].addEventListener("input", function () { // check form validation if (form.checkValidity()) { formBtn.removeAttribute("disabled"); } else { formBtn.setAttribute("disabled", ""); } }); } // page navigation variables const navigationLinks = document.querySelectorAll("[data-nav-link]"); const pages = document.querySelectorAll("[data-page]"); // add event to all nav link for (let i = 0; i < navigationLinks.length; i++) { navigationLinks[i].addEventListener("click", function () { for (let i = 0; i < pages.length; i++) { if (this.innerHTML.toLowerCase() === pages[i].dataset.page) { pages[i].classList.add("active"); navigationLinks[i].classList.add("active"); window.scrollTo(0, 0); } else { pages[i].classList.remove("active"); navigationLinks[i].classList.remove("active"); } } }); } // add event to all toExp link const toExpLinks = document.querySelectorAll("[data-toExp-link]"); for (let i = 0; i < toExpLinks.length; i++) { toExpLinks[i].addEventListener("click", function () { for (let i = 0; i < pages.length; i++) { if (pages[i].dataset.page === "experience") { pages[i].classList.add("active"); toExpLinks[i].classList.add("active"); window.scrollTo(0, 0); navigationLinks[i].classList.add("active"); } else { pages[i].classList.remove("active"); toExpLinks[i].classList.remove("active"); navigationLinks[i].classList.remove("active"); } } }); } // blog navigation variables const blogLinks = document.querySelectorAll("[data-blog-link]"); const blogs = document.querySelectorAll("[data-blog]"); // add event to all blog links for (let i = 0; i < blogLinks.length; i++) { blogLinks[i].addEventListener("click", function () { for (let i = 0; i < blogs.length; i++) { if (this.children[1].children[1].innerHTML.toLowerCase() === blogs[i].dataset.blog.toLowerCase()) { blogs[i].classList.add("active"); blogLinks[i].classList.add("active"); window.scrollTo(0, 0); pages[4].classList.remove("active"); //navigationLinks[4].classList.remove("active"); for (let j = 0; j < navigationLinks.length; j++) { navigationLinks[j].addEventListener("click", function () { blogs[i].classList.remove("active"); }) } } else { blogs[i].classList.remove("active"); blogLinks[i].classList.remove("active"); } } }); } var btn = document.getElementById('buttonUp') btn.addEventListener('click', function() { window.scroll({ top: 0, left: 0, behavior: 'smooth' }); }); // window.scrollY // this.window.scroll(function() { // if (this.window.scrollTop() > 300) { // btn.addClass('show'); // } else { // btn.removeClass('show'); // } // }); // btn.addEventListener('click', function(e) { // e.preventDefault(); // $('html, body').animate({scrollTop:0}, '300'); // });