Slider de Testimonios Moderno
Elegante slider de testimonios con transiciones suaves, funcionalidad de auto-reproducción, gestos táctiles y diseño glassmorphism moderno. Perfecto para mostrar reseñas de clientes y comentarios.
Diseño Responsivo
Sí
Soporte para Modo Oscuro
Sí
líneas
962
Compatibilidad del Navegador
No
Vista Previa en Vivo
Interactúa con el componente sin salir de la página.
Slider de Testimonios Moderno
Un slider de testimonios elegante y rico en características con transiciones suaves, funcionalidad de auto-reproducción, gestos táctiles y diseño glassmorphism moderno. Perfecto para mostrar reseñas de clientes, comentarios y prueba social en tu sitio web.
Características
- Animaciones Suaves: Transiciones cubic-bezier con efectos de deslizamiento
- Control de Auto-reproducción: Avance automático configurable con toggle de pausa/reproducción
- Gestos Táctiles: Navegación por deslizamiento para dispositivos móviles
- Navegación por Teclado: Soporte para teclas de flecha, barra espaciadora, Inicio/Fin
- Diseño Responsivo: Layout adaptativo para todos los tamaños de pantalla
- Accesibilidad: Atributos ARIA y soporte para lectores de pantalla
- Optimizado para Rendimiento: API de Visibilidad y manipulación eficiente del DOM
- UI Glassmorphism: Estética moderna de vidrio esmerilado
Opciones de Navegación
- Botones de Flecha: Controles de navegación Anterior/Siguiente
- Indicadores de Puntos: Acceso directo a slides con retroalimentación visual
- Deslizamiento Táctil: Navegación basada en gestos en móviles
- Atajos de Teclado: Teclas de flecha, barra espaciadora para reproducir/pausar
- Auto-reproducción: Progresión automática de slides con pausa al pasar el mouse
Características de Personalización
- Contenido de Slides: Estructura HTML fácil para testimonios
- Timing de Animación: Duraciones de transición configurables
- Retraso de Auto-reproducción: Timing ajustable entre slides
- Estilo Visual: Propiedades CSS personalizadas para temas
- Sistema de Calificación: Calificaciones con estrellas con retroalimentación visual
Optimizaciones de Rendimiento
- API de Visibilidad para manejo de pestañas en segundo plano
- RequestAnimationFrame para animaciones suaves
- Delegación eficiente de eventos
- Prevención de memory leaks con métodos de limpieza
- Soporte para movimiento reducido para accesibilidad
Métodos de API
const slider = new TestimonialSlider();
// Métodos de navegación
slider.nextSlide(); // Ir al siguiente slide
slider.previousSlide(); // Ir al slide anterior
slider.goToSlide(2); // Ir a slide específico
// Control de auto-reproducción
slider.toggleAutoplay(); // Toggle auto-reproducción
slider.setAutoplayDelay(3000); // Establecer retraso en milisegundos
// Gestión de contenido
slider.addSlide(testimonialHTML); // Agregar nuevo testimonio
slider.removeSlide(1); // Remover slide por índice
// Métodos de información
slider.getCurrentSlide(); // Obtener índice del slide actual
slider.getTotalSlides(); // Obtener número total de slides
slider.getPerformanceMetrics(); // Obtener datos de rendimiento
// Limpieza
slider.destroy(); // Remover todos los event listenersEstructura de Testimonio
// Crear testimonio personalizado
const testimonio = createTestimonial({
text: "¡Servicio y resultados excepcionales!",
name: "Juan García",
title: "CEO, TechCorp",
avatar: "ruta/al/avatar.jpg",
rating: 5
});
slider.addSlide(testimonio);Personalización CSS
/* Esquema de colores personalizado */
.testimonial-slider {
background: rgba(tu-color, 0.1);
border-color: rgba(tu-color, 0.2);
}
/* Timing de transición personalizado */
.testimonial-slide {
transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
/* Retraso de auto-reproducción personalizado */
:root {
--autoplay-delay: 4000ms;
}Características de Accesibilidad
- Etiquetas ARIA: Etiquetado apropiado para lectores de pantalla
- Navegación por Teclado: Accesibilidad completa por teclado
- Gestión de Foco: Orden lógico de tabulación e indicadores de foco
- Movimiento Reducido: Respeta las preferencias de movimiento del usuario
- Alto Contraste: Compatible con modos de alto contraste
Soporte de Navegadores
- Chrome 60+ (soporte completo)
- Firefox 55+ (soporte completo)
- Safari 12+ (soporte completo)
- Edge 79+ (soporte completo)
- iOS Safari 12+ (soporte completo)
- Android Chrome 60+ (soporte completo)
Casos de Uso
- Testimonios de Clientes: Reseñas de productos y servicios
- Casos de Estudio: Historias de éxito y resultados
- Comentarios del Equipo: Testimonios internos y citas
- Prueba Social: Construir confianza y credibilidad
- Reseñas de Portafolio: Comentarios de clientes para agencias
- Reseñas de Productos: Comentarios de clientes para e-commerce
Ejemplos de Integración
<!-- Slide de testimonio básico -->
<div class="testimonial-slide">
<div class="testimonial-card">
<div class="quote-icon">"</div>
<div class="testimonial-content">
<p class="testimonial-text">Tu texto de testimonio aquí...</p>
<div class="testimonial-author">
<div class="author-avatar">
<img src="avatar.jpg" alt="Nombre del Autor" />
</div>
<div class="author-info">
<h4 class="author-name">Nombre del Autor</h4>
<p class="author-title">Título del Trabajo, Empresa</p>
<div class="rating">
<span class="star">★</span>
<span class="star">★</span>
<span class="star">★</span>
<span class="star">★</span>
<span class="star">★</span>
</div>
</div>
</div>
</div>
</div>
</div>Configuración Avanzada
// Configuración avanzada del slider
const slider = new TestimonialSlider({
container: '.slider-personalizado',
autoplay: true,
autoplayDelay: 5000,
pauseOnHover: true,
touchEnabled: true,
keyboardEnabled: true,
animationDuration: 600,
easing: 'cubic-bezier(0.4, 0, 0.2, 1)'
});HTML
154
líneas
CSS
452
líneas
JavaScript
356
líneas
<div class="testimonial-slider-container">
<div class="testimonial-slider">
<div class="testimonial-header">
<h2 class="slider-title">Lo Que Dicen Nuestros Clientes</h2>
<p class="slider-subtitle">Comentarios reales de clientes reales</p>
</div>
<div class="testimonial-wrapper">
<div class="testimonial-track" id="testimonialTrack">
<!-- Testimonio 1 -->
<div class="testimonial-slide active">
<div class="testimonial-card">
<div class="quote-icon">"</div>
<div class="testimonial-content">
<p class="testimonial-text">
"Este servicio ha transformado completamente nuestras operaciones comerciales. La dedicación y experiencia del equipo son incomparables. Hemos visto un aumento del 300% en eficiencia desde implementar sus soluciones."
</p>
<div class="testimonial-author">
<div class="author-avatar">
<img src="https://images.unsplash.com/photo-1507003211169-0a1dd7228f2d?w=100&h=100&fit=crop&crop=face" alt="Juan García" />
</div>
<div class="author-info">
<h4 class="author-name">Juan García</h4>
<p class="author-title">CEO, TechCorp</p>
<div class="rating">
<span class="star">★</span>
<span class="star">★</span>
<span class="star">★</span>
<span class="star">★</span>
<span class="star">★</span>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Testimonio 2 -->
<div class="testimonial-slide">
<div class="testimonial-card">
<div class="quote-icon">"</div>
<div class="testimonial-content">
<p class="testimonial-text">
"Soporte al cliente excepcional y soluciones innovadoras. Entendieron nuestros desafíos únicos y entregaron más allá de nuestras expectativas. El ROI ha sido increíble."
</p>
<div class="testimonial-author">
<div class="author-avatar">
<img src="https://images.unsplash.com/photo-1494790108755-2616b612b786?w=100&h=100&fit=crop&crop=face" alt="María López" />
</div>
<div class="author-info">
<h4 class="author-name">María López</h4>
<p class="author-title">Directora de Marketing, InnovateCo</p>
<div class="rating">
<span class="star">★</span>
<span class="star">★</span>
<span class="star">★</span>
<span class="star">★</span>
<span class="star">★</span>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Testimonio 3 -->
<div class="testimonial-slide">
<div class="testimonial-card">
<div class="quote-icon">"</div>
<div class="testimonial-content">
<p class="testimonial-text">
"Profesional, confiable y orientado a resultados. Trabajar con este equipo ha sido un cambio radical para nuestra startup. Nos ayudaron a escalar de 10 a más de 1000 clientes en solo 6 meses."
</p>
<div class="testimonial-author">
<div class="author-avatar">
<img src="https://images.unsplash.com/photo-1472099645785-5658abf4ff4e?w=100&h=100&fit=crop&crop=face" alt="Carlos Chen" />
</div>
<div class="author-info">
<h4 class="author-name">Carlos Chen</h4>
<p class="author-title">Fundador, StartupXYZ</p>
<div class="rating">
<span class="star">★</span>
<span class="star">★</span>
<span class="star">★</span>
<span class="star">★</span>
<span class="star">★</span>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Testimonio 4 -->
<div class="testimonial-slide">
<div class="testimonial-card">
<div class="quote-icon">"</div>
<div class="testimonial-content">
<p class="testimonial-text">
"Calidad excepcional y atención al detalle. El equipo va más allá para asegurar la satisfacción del cliente. Nuestra productividad ha aumentado un 250% desde asociarnos con ellos."
</p>
<div class="testimonial-author">
<div class="author-avatar">
<img src="https://images.unsplash.com/photo-1438761681033-6461ffad8d80?w=100&h=100&fit=crop&crop=face" alt="Ana Rodríguez" />
</div>
<div class="author-info">
<h4 class="author-name">Ana Rodríguez</h4>
<p class="author-title">Gerente de Operaciones, GlobalTech</p>
<div class="rating">
<span class="star">★</span>
<span class="star">★</span>
<span class="star">★</span>
<span class="star">★</span>
<span class="star">★</span>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Controles de Navegación -->
<div class="testimonial-controls">
<button class="control-btn prev-btn" id="prevBtn">
<svg width="24" height="24" viewBox="0 0 24 24" fill="none">
<path d="M15 18L9 12L15 6" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</button>
<div class="testimonial-dots" id="testimonialDots">
<button class="dot active" data-slide="0"></button>
<button class="dot" data-slide="1"></button>
<button class="dot" data-slide="2"></button>
<button class="dot" data-slide="3"></button>
</div>
<button class="control-btn next-btn" id="nextBtn">
<svg width="24" height="24" viewBox="0 0 24 24" fill="none">
<path d="M9 18L15 12L9 6" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</button>
</div>
<!-- Control de Auto-reproducción -->
<div class="autoplay-controls">
<button class="autoplay-btn" id="autoplayBtn">
<span class="play-icon">⏸️</span>
<span class="autoplay-text">Auto-reproducción</span>
</button>
</div>
</div>
</div>