Social Media

script> document.addEventListener('DOMContentLoaded', function () { const columnas = document.querySelectorAll('.testimonios-col'); columnas.forEach(columna => { const track = columna.querySelector('.testimonios-track'); const originalContent = Array.from(track.children); const isDown = columna.classList.contains('down'); // Si la dirección es hacia abajo, invertimos y clonamos al principio if (isDown) { originalContent.reverse().forEach(el => { const clone = el.cloneNode(true); track.insertBefore(clone, track.firstChild); }); } else { // Si es hacia arriba, clonamos al final originalContent.forEach(el => { track.appendChild(el.cloneNode(true)); }); } let direction = isDown ? 1 : -1; let speed = 0.3; let offset = isDown ? -track.scrollHeight / 2 : 0; let isHovered = false; columna.addEventListener('mouseenter', () => { isHovered = true; }); columna.addEventListener('mouseleave', () => { isHovered = false; }); function animate() { const currentSpeed = isHovered ? speed * 0.5 : speed; offset += direction * currentSpeed; const trackHeight = track.scrollHeight / 2; if (!isDown && Math.abs(offset) >= trackHeight) { offset = 0; } else if (isDown && offset >= 0) { offset = -trackHeight; } track.style.transform = `translateY(${offset}px)`; requestAnimationFrame(animate); } animate(); }); });