2009-06-30 6 views
2

Cela fait 2 jours que j'essaye d'obtenir cette chose pour appeler mon getJSON et aller chercher un nouvel ensemble d'enregistrements basé sur le carousel.last valeur lorsque vous cliquez sur le bouton suivant. Il charge 3 photos au démarrage très bien mais le bouton suivant n'est pas activé car j'ai seulement 3 chargé et il n'y a plus de retard dans la file d'attente. Je ne veux pas de persistant.Essayer d'obtenir jCarousel pour aller chercher un nouvel ensemble d'enregistrements en cliquant sur le bouton Suivant

Découvrez cet exemple, ce que je suis en train de faire, mais à la place chercher la nouvelle série d'images avec ma méthode getJSON:

http://sorgalla.com/projects/jcarousel/examples/dynamic_flickr_api.html

Alors, voici mon code, mais il ne fonctionne pas ce qui signifie que je charge 3 images et le bouton suivant n'est pas activé. Même quand je charge 4 images (pour obtenir le bouton suivant être cliquable parce que j'ai chargé 4 images et il sait il y en a un autre en plus du 3), il ne va pas chercher un nouvel ensemble de 3 images:

<script src="../scripts/jquery-1.3.2.min.js" type="text/javascript"></ 
script> 
<script src="../scripts/jquery.jcarousel.pack.js" type="text/ 
javascript"></script> 
<link rel="stylesheet" type="text/css" href="../css/ 
jquery.jcarousel.css" /> 
<link rel="stylesheet" type="text/css" href="../css/skin.css" /> 

<script type="text/javascript"> 

jQuery(document).ready(function() 
{ 
    $('#mycarousel').jcarousel({ 
     itemLoadCallback: mycarousel_itemLoadCallback 
    }); 

}); 

function decode(s) 
{ 
    return s.replace(/&amp;/g, "&") 
      .replace(/&quot;/g, '"') 
      .replace(/&#039;/g, "'") 
      .replace(/&lt;/g, "<") 
      .replace(/&gt;/g, ">"); 

}; 

function mycarousel_itemLoadCallback(carousel, state) { 

    carousel.lock(); 

     //for (var i = carousel.first; i <= carousel.last; i++) { 
      mycarousel_itemAddCallback(carousel, carousel.first, 
carousel.last); 
     //} 

}; 

function mycarousel_itemAddCallback(carousel, first, last) { 
    // Unlock 
    carousel.unlock(); 

    $.getJSON("http://localhost:59396/xxx/xxxHandler.ashx? 
action=carouselproducts&setsize=3" + "&cfirst=" + carousel.first + 
"&clast=" + carousel.last, 
     function(data) { 
      carousel.size(data.length); 
      $.each(data, function(i, item) { 
       carousel.add(i, decode(item.ImageTag)); 
       if (i == 3) return false; 
      }); 
     }); 

}; 

</script> 

</head> 
<body> 
    <form id="form1" runat="server"> 
     <div> 
      <ul id="mycarousel" class="jcarousel-skin-ie7"> 
       <!-- this will be dynamically populated --> 
      </ul> 
     </div> 
    </form> 
</body> 
</html> 

Je ne sais pas quoi d'autre pour essayer ici ou comment obtenir que le travail comme l'exemple . Et je ne pense pas avoir besoin de toute cette logique de pagination parce que je n'utilise pas Flickr, et je veux juste baser le prochain ensemble pour aller chercher sur le premier et dernier index du carrousel en appelant mon getJSON sur le clic de les boutons suivants ou précédents.

Répondre

0

J'ai pris votre code et l'ai exécuté dans FF4 et IE9. Le bouton suivant est activé et je vois même des appels ajax étant faits quand je clique sur l'icône suivante. Le navigateur de votre problème est-il spécifique?

enter image description here

Questions connexes