2013-05-19 5 views
0

Je fais une simple galerie d'images carrousel. Actuellement, j'ai deux images et je voudrais que la galerie revienne à la première image après la dernière et je ne peux pas comprendre comment faire fonctionner cette fonctionnalité plus mon bouton précédent et suivant ont cessé de fonctionner pour une raison quelconque. Mes compétences jq/js manquent et apprécieraient toute aide pour que cela fonctionne. Voici mon jsFiddle de mon code [1]: http://jsfiddle.net/jsavage/kGAxa/39/problème avec carrousel galerie d'images

$(document).ready(function() { 
    if (jQuery("#gallery").length) { 
     // declare variables 
     var totalImages = jQuery("#gallery > li").length, 
      imageWidth = jQuery("#gallery > li:first").outerWidth(true), 
      totalWidth = imageWidth * totalImages, 
      visibleImages = Math.round(jQuery("#gallery-wrapper").width()/imageWidth), 
      visibleWidth = visibleImages * imageWidth, 
      stopPosition = (visibleWidth - totalWidth); 

     jQuery("#gallery").width(totalWidth); 

     jQuery("#gallery-prev").click(function() { 
      if (jQuery("#gallery").position().left < 0 && !jQuery("#gallery").is(":animated")) { 
       jQuery("#gallery").animate({ 
        left: "+=" + imageWidth + "px" 
       }); 
      } 
      return false; 
     }); 

     jQuery("#gallery-next").click(function() { 
      if (jQuery("#gallery").position().left > stopPosition && !jQuery("#gallery").is(":animated")) { 
       jQuery("#gallery").animate({ 
        left: "-=" + imageWidth + "px" 
       }); 
      } 
      return false; 
     }); 
    } 

}); 

Répondre

0

testé votre violon, javascript fonctionne bien, ne css manque les attributs suivants:

#gallery-wrapper { 
    position:relative; 
} 

#gallery { 
    position:absolute; 
} 

et le code doit également être exécuté au sein

$(window).load(); 

au lieu de gestionnaire d'événements $(document).ready(); pour fonctionner correctement.

http://jsfiddle.net/kGAxa/42/

+0

Merci pour la réponse et aider Stano! Je me demandais comment je pourrais faire revenir la galerie à la première diapositive ou revenir à la première diapositive après la seconde. Je suppose que fondamentalement en faire une galerie de diapositives continue? Merci pour toute l'aide que vous pouvez nous apporter! – jsavage980

+0

Stano Merci beaucoup! J'apprécie la réponse et l'aide.Il fonctionne bien en FF mais en chrome quand je suis sur la deuxième diapositive et cliquez sur la flèche suivante, il ne me renvoie pas à la première image comme il le fait en ff. pas sûr pourquoi ça marche en ff et pas la même chose en chrome? des idées? J'apprécie vraiment l'aide Stano! merci – jsavage980

+0

Merci encore pour votre aide. J'apprécie beaucoup! – jsavage980