Bonjour à tous,

Je viens vous demander votre aide car je suis bloqué et je suis encore débutant en JS. En effet, j'ai téléchargé une bibliothèque qui s'appelle OwlCarousel pour pouvoir faire un carousel et je l'ai modifié pour pouvoir l'adapter à mes envies.

Mon problème : La pagination que j'ai faite fonctionne très bien cependant, lorsque je viens de charger la page, elle n’apparaît pas et c'est seulement une fois que j'ai fait défiler mon carrousel une fois, que ma pagination apparaît.

Voici mon HTML:

<body onload="init();"> <!-- ceci appelle une autre fonction de ma page html mais je vous affiche que le code qui concerne mon carrousel-->
<div id="cover-1">
<div id="container-1">
<div id="carousel-1" class="slider owl-carousel owl-theme">
<div> <img class="item-1" src="images/Affiche1.jpg"></div>
<div> <img class="item-1" src="images/Affiche1.jpg"></div>
<div> <img class="item-1" src="images/Affiche1.jpg"></div>
</div>
</div>
<div class="owl-nav">
<div id="block-rouge-prev"></div>
<div class="owl-prev-carousel-1"><</div>
<div id="block-rouge-next"></div>
<div class="owl-next-carousel-1">></div>
</div>
<div class="slider-counter"></div>
</div>
</body>

Voici mon JS :

$(document).ready(function () {
$('#carousel-1').owlCarousel({
/*autoplay: true,
autoplayTimeout: 13000,*/
loop:true,
margin:10,
dots:false,
nav:false,
responsiveClass:true,
responsive:{
0:{
items:1,
},
600:{
items:1,
},
800:{
items:1,
},
1000:{
items:1,
loop:true
}
}
});
var owl = $('#carousel-1');
owl.owlCarousel();
// Go to the next item
$('.owl-next-carousel-1').click(function() {
owl.trigger('next.owl.carousel');
})
// Go to the previous item
$('.owl-prev-carousel-1').click(function() {
// With optional speed parameter
// Parameters has to be in square bracket '[]'
owl.trigger('prev.owl.carousel', [300]);
});
$('#carousel-1').on('initialized.owl.carousel changed.owl.carousel', function(e) {
if (!e.namespace) {
return;
}
var carousel = e.relatedTarget;
$('.slider-counter').text(carousel.relative(carousel.current()) + 1 + '/' + carousel.items().length);
});
});

Lorsque je rafraîchis ma page, la pagination ne s'affiche pas
upload/1554141598-75077-1.png

Une fois que j'ai fait défiler une première fois mon carrousel, la pagination s'affiche
upload/1554141667-75077-2.png

Merci énormément pour toute aide que vous pourrez m'apporter Smiley biggrin
tu lances le carrousel 2 fois :

$('#carousel-1').owlCarousel({....});

owl.owlCarousel();

ensuite mais l'option nav à true pour la pagination
J'ai supprimé la ligne "owl.owlCarousel ();" mais rien ne change...

Je ne met pas la nav à true parce que la nav que j'utilise est une autre nav que j'ai rajouté pour ne pas avoir celle de base. La nav que j'ai rajouté est celle-ci :

$('#carousel-1').on('initialized.owl.carousel changed.owl.carousel', function(e) {
  if (!e.namespace) {
    return;
  }
var carousel = e.relatedTarget;
$('.slider-counter').text(carousel.relative(carousel.current()) + 1 + '/' + carousel.items().length);
});
places au début juste après $(document).ready(function () {

$('#carousel-1').on('initialized.owl.carousel changed.owl.carousel', function(e) {
  if (!e.namespace) {
    return;
  }
var carousel = e.relatedTarget;
$('.slider-counter').text(carousel.relative(carousel.current()) + 1 + '/' + carousel.items().length);
});


En effet, là où est ton code, l'event initialized.owl.carousel a déjà été déclenché.
Modifié par yiujia (01 Apr 2019 - 20:46)
Meilleure solution