2009-05-26 12 views
0

Je suis en train de développer un post-slideshow pour wordpress sur jquery. Je dois dire que je ne suis pas un expert et c'est la première fois que je travaille avec jquery ou javascript. Tout fonctionne parfaitement le code fonctionne très bien le poste tourne chaque x secondes, il y a deux div qui se déplacent poste gauche (précédent) ou droite (suivant) sur clic, ça fonctionne bien mais sur le premier poste (0) lorsque vous cliquez sur gauche (précédent) il ne montre rien puisque 0 - 1 = -1 il n'y a pas de post -1 et ce qui est censé montrer est le dernier post (4). J'ai essayé si {} else if {} mais comme je l'ai dit je ne suis pas un expert et je ne trouve pas de solution par moi-même. Toute aide est appréciée. Le code ...Comment éviter le résultat négatif (-1) jquery

$("#switch-izquierda").click(
    function() { 
    $("#lista-contenedor-rotatorio li:eq("+img_actual+")").fadeOut(1600); 
    img_actual = (img_actual -1) % cuenta; 
    $("#lista-contenedor-rotatorio li:eq("+img_actual+")").fadeIn(2000); 
    }); 

Le problème est ici ...

img_actual = (img_actual -1) % cuenta; 

Lorsqu'en premier post (0) résultat est -1 ce que je dois est de montrer le dernier message (4)

Si vous avez une solution, je l'apprécie vraiment.

+0

@waxwing Merci beaucoup pour votre aide. Ça marche très bien maintenant. –

Répondre

1

Vous ne voulez pas l'opérateur restant, mais l'opérateur modulo. Je ne sais pas si cela existe dans JS.

La meilleure façon peut-être juste pour éviter le cas négatif en ajoutant la longueur:

img_actual = (img_actual + cuenta - 1) % cuenta; 
Questions connexes