Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

204
Visualizações
Multiple Progress Bars on Splide.js sliders

I am having 3 Splide.Js sliders on a single page and I would like to add the progress bar as mentioned here -> https://splidejs.com/ under Slider Progress:

This my code so far (which works for the splide itself):

var splides = $('.highlights');

function slider1() {

for ( let i = 0, splideLength = splides.length; i < splideLength; i++ ) {
 
  var splide = new Splide( splides[ i ], {
    // Desktop on down
    gap: '2.4em', // space between slides
    autoWidth: true, // for cards with differing widths
    waitForTransition: true,
    breakpoints: {
      991: {
        // Tablet
      },
      767: {
        // Mobile Landscape
        destroy: true,
      },
      479: {
        // Mobile Portrait
        destroy: 'completely',
      }
    }
  });
  
  var bar = splide.root.querySelector( '.my-slider-progress-bar' );
    
  splide.mount();
  
}
}

slider1();

Where do I put this piece of code to make the bar works with each slide? I am currently getting the error "Cannot read properties of null (reading 'style')"

Progress Bar code:

 // Update the bar width:
  splide.on( 'mounted move', function () {
    var end = splide.Components.Controller.getEnd() + 1;
    bar.style.width = String( 100 * ( splide.index + 1 ) / end ) + '%';
  } );

Thanks for any tips

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

between:
var bar = splide.root.querySelector( '.my-slider-progress-bar' );

and:
splide.mount();

such as:
var bar = splide.root.querySelector( '.my-slider-progress-bar' );

  splide.on( 'mounted move', function () {
    var end = splide.Components.Controller.getEnd() + 1;
    bar.style.width = String( 100 * ( splide.index + 1 ) / end ) + '%';
  } );

  splide.mount();
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda