Carrusel de animales más fácil de entender
- Botones grandes con texto («Anteriores» / «Siguientes»; en móvil solo flechas, con nombre accesible). - Contador «1–3 / 10» y la siguiente tarjeta asomando por el borde para que se vea que hay más. - Última tarjeta «Ver todos los animales» que lleva a la página Adopta. - Arreglado: al empezar, «Anteriores» no salía desactivado (el scroll-snap desplazaba 4 px). - Versión del tema 2.3.1. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -54,6 +54,8 @@
|
||||
document.querySelectorAll( '[data-ga-carousel]' ).forEach( function ( carousel ) {
|
||||
var track = carousel.querySelector( '.ga-carousel__track' );
|
||||
var buttons = carousel.querySelectorAll( '.ga-carousel__btn' );
|
||||
var count = carousel.querySelector( '.ga-carousel__count' );
|
||||
var cards = track ? track.querySelectorAll( '.ga-card' ) : [];
|
||||
if ( ! track ) {
|
||||
return;
|
||||
}
|
||||
@@ -62,6 +64,13 @@
|
||||
buttons[ 0 ].disabled = track.scrollLeft <= 2;
|
||||
buttons[ 1 ].disabled = track.scrollLeft >= max;
|
||||
carousel.classList.toggle( 'is-static', max <= 0 );
|
||||
// Contador «1–3 / 10»: tarjetas enteras a la vista (la tarjeta «Ver todos» no cuenta).
|
||||
if ( count && cards.length ) {
|
||||
var step = cards[ 0 ].offsetWidth + ( parseFloat( getComputedStyle( track ).columnGap ) || 0 );
|
||||
var first = Math.min( cards.length - 1, Math.round( track.scrollLeft / step ) );
|
||||
var last = Math.min( cards.length, first + Math.max( 1, Math.floor( ( track.clientWidth + 8 ) / step ) ) );
|
||||
count.textContent = ( first + 1 ) + ( last > first + 1 ? '–' + last : '' ) + ' / ' + cards.length;
|
||||
}
|
||||
}
|
||||
buttons.forEach( function ( button ) {
|
||||
button.addEventListener( 'click', function () {
|
||||
|
||||
Reference in New Issue
Block a user