1/** 2 * P10 Redes Sociales â mini-carrusel de Instagram. 3 * Muestra una publicación a la vez con navegación horizontal por flechas 4 * (o deslizando con el dedo en móvil). Sin avance automático. 5 */ 6( function () { 7 'use strict'; 8 9 function iniciarSlider( slider ) { 10 var viewport = slider.querySelector( '.p10rs-ig-viewport' ); 11 var btnPrev = slider.querySelector( '.p10rs-ig-prev' ); 12 var btnNext = slider.querySelector( '.p10rs-ig-next' ); 13 var contador = slider.querySelector( '.p10rs-ig-contador' ); 14 var total = slider.querySelectorAll( '.p10rs-ig-slide' ).length; 15 16 if ( ! viewport || ! btnPrev || ! btnNext ) { 17 return; 18 } 19 20 // Con una sola publicación no hace falta navegar. 21 if ( total <= 1 ) { 22 btnPrev.style.display = 'none'; 23 btnNext.style.display = 'none'; 24 if ( contador ) { 25 contador.style.display = 'none'; 26 } 27 return; 28 } 29 30 function indiceActual() { 31 var ancho = viewport.clientWidth; 32 return ancho > 0 ? Math.round( viewport.scrollLeft / ancho ) : 0; 33 } 34 35 function actualizar() { 36 var i = indiceActual(); 37 btnPrev.disabled = i <= 0; 38 btnNext.disabled = i >= total - 1; 39 if ( contador ) { 40 contador.textContent = ( i + 1 ) + ' / ' + total; 41 } 42 } 43 44 btnPrev.addEventListener( 'click', function () { 45 viewport.scrollBy( { left: -viewport.clientWidth, behavior: 'smooth' } ); 46 } ); 47 btnNext.addEventListener( 'click', function () { 48 viewport.scrollBy( { left: viewport.clientWidth, behavior: 'smooth' } ); 49 } ); 50 51 viewport.addEventListener( 'scroll', actualizar, { passive: true } ); 52 window.addEventListener( 'resize', actualizar ); 53 actualizar(); 54 } 55 56 function iniciar() { 57 var sliders = document.querySelectorAll( '[data-p10rs-slider]' ); 58 for ( var i = 0; i < sliders.length; i++ ) { 59 iniciarSlider( sliders[ i ] ); 60 } 61 } 62 63 if ( 'loading' === document.readyState ) { 64 document.addEventListener( 'DOMContentLoaded', iniciar ); 65 } else { 66 iniciar(); 67 } 68} )();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.