Moi aussi, je l'ai trouvé qui retourne jCarousel .first inutilisable,. last, .prevFirst et .prevLast propriétés aux moments où vous en avez besoin. Par conséquent, je devais le faire à la va-vite et j'ai décidé d'écrire une fonction qui retourne l'ID de n'importe quelle étiquette li qui est actuellement la première dans le conteneur, en vérifiant si elle est au-dessus de zéro. Si c'est le cas, et c'est le premier avec une position gauche au-dessus de zéro, c'est ma diapositive actuelle.
Le code suivant suppose que vous avez mis un id = "listitem-N" dans les balises de liste dans votre boucle foreach(), où N est l'itération en cours.
var currSlide = 0;
function getCurrentCarouselItem(){
$("ul#use-cases li.use-case").each(function(){
var leftPos = $(this).offset().left;
if(leftPos >= 0){
var id = $(this).attr('id').split("-");
currSlide = id[1];
return false;
}
});
return currSlide;
}
La raison pour laquelle je ne retourne pas l'identifiant dans la each() est parce que chaque() est une fonction et le retour ne retourneront pour cette fonction, et non getCurrentCarouselItem().
Je pensais que dans un premier temps, mais le premier et le dernier ne fonctionnent pas quand plus d'une image est visible comme première image visible et la dernière image visible n'est pas toujours l'image actuelle ... – Steerpike
Désolé je ne suis pas pleinement comprendre ce que vous dites? En utilisant l'exemple simple de jcarousel, qui utilise trois images et défile horizontalement, carousel.first renverra l'élément le plus à gauche et carousel.last renverra l'élément le plus à droite. À chaque fois que vous appuyez sur les flèches gauche et droite pour effectuer les opérations suivantes et précédentes, l'événement itemLoadCallback est déclenché en transmettant les données du carrousel, ce qui vous permet de vérifier les premier et dernier éléments. Et quel que soit celui que vous considérez comme étant celui que vous pouvez afficher, si vous considérez que le milieu est courant, utilisez-les pour déterminer l'index du milieu. – HenryRat
Merci ... cela m'a beaucoup aidé. –