Ideal para suspender del techo, inclinar, jugar con las alturas, colores y tamaño del cristal. Personalizar a medida de tu proyecto crear una identidad exclusiva
Ideal para suspender del techo, inclinar, jugar con las alturas, colores y tamaño del cristal. Personalizar a medida de tu proyecto crear una identidad exclusiva
document.addEventListener('DOMContentLoaded', function () {const carousel = document.querySelector(
'#uc_card_carousel_elementor_3a9ebff'
);if (!carousel) return;let startX = 0;
let startY = 0;
let isDragging = false;/*
* Detectar inicio del movimiento
*/
carousel.addEventListener('pointerdown', function (event) {startX = event.clientX;
startY = event.clientY;
isDragging = false;}, true);/*
* Detectar si realmente se está arrastrando
*/
carousel.addEventListener('pointermove', function (event) {const moveX = Math.abs(event.clientX - startX);
const moveY = Math.abs(event.clientY - startY);if (moveX > 10 || moveY > 10) {
isDragging = true;
}}, true);/*
* Al soltar:
* - si hubo desplazamiento → dejamos trabajar al carrusel
* - si fue un clic → abrimos el enlace
*/
carousel.addEventListener('pointerup', function (event) {if (isDragging) {
return;
}const card = event.target.closest(
'.uc_classic_carousel_container_holder'
);if (!card) return;/*
* Si se hizo clic directamente sobre el título,
* dejamos que funcione el enlace original.
*/
if (event.target.closest('a')) {
return;
}/*
* Buscar el enlace que Unlimited Elements
* ya tiene configurado para esta tarjeta.
*/
const link = card.querySelector(
'.card_carousel_title'
)?.closest('a');if (!link || !link.href) {
return;
}/*
* Abrir el mismo enlace en una nueva pestaña.
*/
window.open(
link.href,
'_blank',
'noopener,noreferrer'
);}, true);});