Ngiler SH3LL 360
Home
Information
Create File
Create Folder
:
/
home
/
tbf
/
new2023.tbf.ro
/
dist
/
js
/
Information Server
MySQL :
OFF
Perl :
OFF
CURL :
ON
WGET :
OFF
PKEXEC :
OFF
Directive
Local Value
IP Address
89.40.16.97
System
Linux server.atelieruldeit.ro 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64
User
tbf
PHP Version
7.3.33
Software
Apache
Doc root
Writable
close
Edit File :
scripts.js
| Size :
9.61
KB
Copy
// ============================================================================= // Menu Functionality // Show submenu for nav items by removing and adding classes using the transition property function menuShow(menu, axis) { menu.classList.remove("hidden", "opacity-0", "translate-"+ axis +"-1") menu.classList.add("opacity-100", "translate-"+ axis +"-0"); } // Hide submenu for nav items by removing and adding classes using the transition property function menuHide(menu, axis) { menu.classList.remove("opacity-100", "translate-"+ axis +"-0"); menu.classList.add("opacity-0", "translate-"+ axis +"-1"); setTimeout(() => { menu.classList.add("hidden"); }, 200); } // Show submenu when clicking on nav item // Hide submenu when clicking outside of nav item or submenu function toggleMenu(btnSelector, menuSelector, axis) { const btn = document.querySelector(btnSelector); const menu = document.querySelector(menuSelector); if(btn){ btn.addEventListener("click", () => { if (menu.classList.contains("hidden")) { menuShow(menu, axis); } else { menuHide(menu, axis); } }); } document.addEventListener("click", function(event) { var target = event.target; if (!target.closest(menuSelector) && !target.closest(btnSelector) && !menu.classList.contains("hidden")) { menuHide(menu, axis); } }); } // Show mobile menu when clicking on hamburger button function toggleMobileMenu(btnOpenSelector, btnCloseSelector, menuSelector, axis) { const btnOpen = document.querySelector(btnOpenSelector); const btnClose = document.querySelector(btnCloseSelector); const menu = document.querySelector(menuSelector); if(btnOpen){ btnOpen.addEventListener("click", () => { menuShow(menu, axis); }); } if(btnClose){ btnClose.addEventListener("click", () => { menuHide(menu, axis); }); } } // Toggle submenu for nav items toggleMenu("#servicii_button", "#servicii_submenu", "y"); toggleMenu("#despre_button", "#despre_submenu", "y"); toggleMobileMenu("#mobile_menu_button", "#mobile_menu_button_close", "#mobile_menu", "x"); // Replace the current year with the current year document.addEventListener('DOMContentLoaded', () => { const currentYear = new Date().getFullYear(); document.querySelector('#year-copyright').textContent = currentYear; }); // ============================================================================= // Scroll Reveal const elements = document.querySelectorAll("[class^='reveal-']"); elements.forEach(element => { const className = element.classList[0]; const [delay, duration, opacity] = className.split('-').slice(1).map(num => parseInt(num)); ScrollReveal().reveal(element, { opacity: opacity ? 100 : 0, delay: delay, distance: '30px', duration: duration, easing: 'ease-out', interval: 600 }); }); const ulElement = document.querySelector('#testimonial-list'); if(ulElement){ const liElements = ulElement.querySelectorAll('li'); const delayList = [100, 125, 150, 175, 200, 225, 250, 275, 300]; liElements.forEach(function(li) { const randomDelayIndex = Math.floor(Math.random() * delayList.length); const randomDelay = delayList[randomDelayIndex]; ScrollReveal().reveal(li, { opacity: 0, delay: randomDelay, distance: '30px', duration: 1000 }); }); } // const chartElements = [...document.getElementsByClassName("tbf-chart")]; // chartElements.forEach(function(el) { // ScrollReveal().reveal(el, { // opacity: 100, // delay: 0, // distance: '30px', // duration: 300, // afterReveal: updateChart(window[el.id.replace("animate_", "")], 'ion') // }); // }); // ============================================================================= // Scroll Chapter Progress if(document.querySelector(".chapter-line")) { // Create an array to store the second <div> elements const chapters = document.getElementsByClassName("chapter-line"); const status = document.getElementsByClassName("chapter-status"); const h2Elements = document.getElementsByClassName("chapter-title"); const chapterText = document.getElementsByClassName("chapter-text"); window.addEventListener('scroll', () => { const scrollPosition = window.scrollY; let activeElements = []; let isLastElement = false; let elementPosition = undefined; for (let i = 0; i < h2Elements.length - 1; i++) { const element1Top = h2Elements[i].getBoundingClientRect().top + scrollPosition - 200; const element2Top = h2Elements[i+1].getBoundingClientRect().top + scrollPosition - 500; if (i === h2Elements.length - 2 ) { isLastElement = true; } if (scrollPosition >= element1Top && scrollPosition <= element2Top) { activeElements.push(h2Elements[i]); activeElements.push(h2Elements[i+1]); elementPosition = i; break; } } if (activeElements.length === 0 && h2Elements[0].getBoundingClientRect().top > 0) { for (let i = 0; i < status.length; i++) { setStatus(status[i], i, "inactive", chapterText); if (i < status.length - 2) { chapters[i].style.height = "0%"; } } setStatus(status[0], 0, "active", chapterText); } else if (activeElements.length === 0 && h2Elements[h2Elements.length-1].getBoundingClientRect().top < 400) { for (let i = 0; i < status.length; i++) { setStatus(status[i], i, "done", chapterText); if (i < status.length - 1) { chapters[i].style.height = "100%"; } } } else { for (let i = 0; i < h2Elements.length; i++) { if (i < elementPosition) { setStatus(status[i], i, "done", chapterText); if (i < h2Elements.length - 1) { chapters[i].style.height = "100%"; } } if (i === elementPosition) { setStatus(status[i], i, "active", chapterText); let heightDifference = activeElements[1].offsetTop - activeElements[0].offsetTop; let currentScroll = scrollPosition - activeElements[0].offsetTop; let percentageScrolled = (currentScroll / heightDifference) * 100; chapters[i].style.height = percentageScrolled + "%"; } if (i > elementPosition) { setStatus(status[i], i, "inactive", chapterText); if (i < h2Elements.length - 1) { chapters[i].style.height = "0%"; } } } } }); } function setStatus(element, position, status, chapterText) { let svg = element.getElementsByTagName("svg"); let span = element.getElementsByTagName("span"); if (status === "done") { element.classList.remove("border-gray-300"); element.classList.remove("bg-white"); element.classList.add("border-galben-400"); element.classList.add("bg-galben-400"); svg[0].classList.remove("hidden"); svg[0].classList.remove("opacity-0"); svg[0].classList.add("opacity-100"); span[0].classList.add("hidden"); span[0].classList.add("opacity-0"); span[0].classList.remove("opacity-100"); chapterText[position].classList.remove("text-gray-500"); } else if (status === "active") { element.classList.remove("border-gray-300"); element.classList.add("bg-white"); element.classList.add("border-galben-400"); element.classList.remove("bg-galben-400"); svg[0].classList.add("hidden"); svg[0].classList.add("opacity-0"); svg[0].classList.remove("opacity-100"); span[0].classList.remove("hidden"); span[0].classList.remove("opacity-0"); span[0].classList.add("opacity-100"); chapterText[position].classList.remove("text-gray-500"); } else if (status === "inactive") { element.classList.add("border-gray-300"); element.classList.add("bg-white"); element.classList.remove("border-galben-400"); element.classList.remove("bg-galben-400"); svg[0].classList.add("hidden"); svg[0].classList.add("opacity-0"); svg[0].classList.remove("opacity-100"); span[0].classList.add("hidden"); span[0].classList.add("opacity-0"); span[0].classList.remove("opacity-100"); chapterText[position].classList.add("text-gray-500"); } } // ============================================================================= // Load Video Player function loadVideoPlayer(vimeoId) { var options = { id: vimeoId, responsive: true, }; var videoPlayer = new Vimeo.Player('testimonialVideo', options); return videoPlayer; }
Back