File manager - Edit - /var/www/html/homologBancodetalentos/public/js/home.js
Back
document.addEventListener('DOMContentLoaded', function () { initVagasCarousel(); initNewsCarousel(); }); function initVagasCarousel() { var container = document.querySelector('.vagas-section .cards-container'); var prevBtn = document.querySelector('.vagas-section .vagas-nav-prev'); var nextBtn = document.querySelector('.vagas-section .vagas-nav-next'); if (!container || !prevBtn || !nextBtn) { return; } function cardStep() { var card = container.querySelector('.vaga-card'); if (!card) return 300; var style = window.getComputedStyle(container); var gap = parseFloat(style.gap || style.columnGap || '0') || 0; return card.getBoundingClientRect().width + gap; } function maxScroll() { return Math.max(0, container.scrollWidth - container.clientWidth); } prevBtn.addEventListener('click', function () { var step = cardStep(); var next = container.scrollLeft - step; if (next < 0) next = maxScroll(); container.scrollTo({ left: next, behavior: 'smooth' }); }); nextBtn.addEventListener('click', function () { var step = cardStep(); var next = container.scrollLeft + step; if (next > maxScroll() + 2) next = 0; container.scrollTo({ left: Math.min(next, maxScroll()), behavior: 'smooth' }); }); } function initNewsCarousel() { var section = document.getElementById('tb-news-section'); if (!section) { return; } var wrapper = section.querySelector('.carousel-wrapper'); var track = section.querySelector('.carousel-track'); var prev = section.querySelector('.carousel-btn-prev'); var next = section.querySelector('.carousel-btn-next'); if (!wrapper || !track || !prev || !next) { return; } var cards = track.querySelectorAll('.noticia-card'); if (cards.length < 1) { return; } var autoTimer = null; var autoDelayMs = 4500; function parseGapPx() { var style = window.getComputedStyle(track); var raw = style.gap || style.columnGap || '0'; var n = parseFloat(raw); return isNaN(n) ? 24 : n; } function cardStep() { var firstCard = track.querySelector('.noticia-card'); if (!firstCard) { return 320; } return firstCard.getBoundingClientRect().width + parseGapPx(); } function maxScrollLeft() { return Math.max(0, wrapper.scrollWidth - wrapper.clientWidth); } function goNext() { var step = cardStep(); var nextLeft = wrapper.scrollLeft + step; var max = maxScrollLeft(); if (nextLeft > max + 2) { wrapper.scrollTo({ left: 0, behavior: 'smooth' }); return; } wrapper.scrollTo({ left: Math.min(nextLeft, max), behavior: 'smooth' }); } function goPrev() { var step = cardStep(); var prevLeft = wrapper.scrollLeft - step; if (prevLeft < -2) { wrapper.scrollTo({ left: maxScrollLeft(), behavior: 'smooth' }); return; } wrapper.scrollTo({ left: Math.max(0, prevLeft), behavior: 'smooth' }); } function stopAuto() { if (autoTimer) { window.clearInterval(autoTimer); autoTimer = null; } } function startAuto() { if (cards.length <= 1) { return; } stopAuto(); autoTimer = window.setInterval(goNext, autoDelayMs); } function onNavClick(e, fn) { e.preventDefault(); e.stopPropagation(); fn(); startAuto(); } prev.addEventListener('click', function (e) { onNavClick(e, goPrev); }); next.addEventListener('click', function (e) { onNavClick(e, goNext); }); wrapper.addEventListener('mouseenter', stopAuto); wrapper.addEventListener('mouseleave', startAuto); wrapper.addEventListener('touchstart', stopAuto, { passive: true }); wrapper.addEventListener('touchend', startAuto, { passive: true }); startAuto(); }
| ver. 1.4 |
Github
|
.
| PHP 8.3.28 | Generation time: 0.02 |
proxy
|
phpinfo
|
Settings