2010-05-12 8 views
0

J'ai été capable d'instancier un changeur de travail en utilisant jQuery Jcarousel, mais j'en ai besoin pour inverser le défilement. Par exemple en ce moment je:Comment faire défiler le JCorousel Vertical Scroller?

jQuery(document).ready(function() { 
    jQuery('#mycarousel').jcarousel({ 
     auto: 1, 
     vertical: true, 
     scroll: 1, 
     animation: "slow", 
     wrap: 'last', 
     initCallback: mycarousel_initCallback 
    }); 
}); 

Que dois-je faire pour les articles défiler vers le haut au lieu de vers le bas?

Nous vous remercions à l'avance

Répondre

1

autoscrolling inverse n'est pas encore implémenté mais vous pouvez coder facilement.

C'est la fonction de défilement automatique en jCarousel:

/** 
* Starts autoscrolling. 
* 
* @method auto 
* @return undefined 
* @param s {Number} Seconds to periodically autoscroll the content. 
*/ 
    startAuto: function(s) { 
     if (s != undefined) 
      this.options.auto = s; 

     if (this.options.auto == 0) 
      return this.stopAuto(); 

     if (this.timer != null) 
      return; 

     var self = this; 
     this.timer = setTimeout(function() { self.next(); }, this.options.auto * 1000); 
    }, 

(lignes 687-706 dans jquery.carousel.js)

Changement self.next();-self.prev() doit à l'astuce (ne peut pas le tester en ce moment, si vous fais s'il te plaît poster les résultats).

Bonne chance :)

+0

Merci beaucoup pour la réponse rapide. J'ai spécifiquement changé la ligne # 705 à: this.timer = setTimeout (fonction() {self.prev();}, this.options.auto * 1000); Maintenant, le défilement ne défile pas et je ne reçois aucune erreur dans Firebug. – jini

+0

Ahhhhhhhh Je devais utiliser spécifiquement l'option 'start' et définir mon index manuellement car il commençait à partir de 1 et n'avait rien de "précédent" à retourner. Merci encore! – jini

+0

Cool! Content que ça a marché Scott :) –

0

Juste pour ajouter cette réponse à XaviEsteve (je ne peux pas trouver un endroit pour ajouter un commentaire à sa réponse de toute façon). Une fois que j'ai changé self.next() en self.prev(), je dois changer l'option 'wrap' en 'both' pour que cela fonctionne pour moi, comme ça.

jQuery('#mycarousel').jcarousel({ 
     auto: 1, 
     wrap: 'both', 
     vertical: true, 
     scroll: 1, 
     start: 30, 
     initCallback: mycarousel_initCallback 
    }); 
5

En fait, c'est plus simple que cela.

scroll: -1 

cheers!

-1

Essayez cela, il devrait fonctionner

$(document).ready(function() { 
    $('#mycarousel').jcarousel({ 
     vertical: true, 
     wrap: 'circular', 
     animate: 'slow', 
    }); 
    $('#mycarousel').jcarouselAutoscroll({ 
     interval: 3000, 
     target: '-=1', /*if you change - on + it will scroll up*/ 
     autostart: true 
    }); 
}); 
Questions connexes