2010-11-13 25 views
2

J'ai un problème avec la définition d'une position de départ, qui dépend de la classe de l'élément qui a été cliqué.jcarousel mode circulaire, position de départ variable

J'ai deux listes:

1) Liste des aperçus des classes dans -tags (class = "1", class = "2" ...);

2) jcarousel liste des mêmes éléments.

La deuxième liste est masquée. Lorsque l'utilisateur clique sur un élément de la première liste, le script cache la première liste et affiche la seconde. De plus, il obtient la classe d'élément cliquée et la transmet au code d'initialisation jcarousel.

$('.itemsinner A').click(function() { 
    var height = $('.preview_list').height(); 
    var item = $(this).attr('class'); 
    $('.preview_list').animate({height: 0}, 1000, function() { 
     $('.slider').animate({height: 500}, 1000); 
    }); 
    $('#carousel').jcarousel({ 
     wrap: 'circular', 
     scroll: 1, 
     visible: 1, 
     start: item 
    }); 
    return false; 
}); 

Si je définis le paramètre de démarrage pour jcarousel non variable "item", mais quelques chiffres cela fonctionne bien. Qu'est-ce que je fais mal?

+0

Oublié de mentionner: lorsque le paramètre start est "item", jcarousel commence par l'élément correct, mais lorsque je le fais défiler, il affiche le même élément. – Kaless1n

Répondre

2

Pourrait-il s'agir d'une incompatibilité de type de données? Class = "1", donc "item" est une chaîne. Est-ce que jcarousel attend une valeur numérique à la place? Essayez

start: parseInt(item, 10) 
+0

Merci, ça marche! – Kaless1n

+0

Super travail, ça m'a aidé aussi. Vraiment, j'aurais dû y penser! –