2012-07-07 3 views
1

J'utilise le plugin jQuery AnythingSlider pour une galerie photo et j'ai quelques problèmes pour le personnaliser. Le curseur fonctionne, mais pour l'instant je veux afficher le numéro de diapositive actuel et le nombre total et je reçois une erreur dans Firebug.AnythingSlider is undefined

Le script est la suivante:

$(function() { 

var current = $('#gallery').data('AnythingSlider').currentPage; 
var pages = $('#gallery').data('AnythingSlider').pages; 
$('.slides').append(current + '/' + pages); 

$('#gallery').anythingSlider({ 
    appendBackTo: '.arrow-left', 
appendForwardTo: '.arrow-right', 
buildNavigation: false, 
buildStartStop: false, 
easing: 'linear', 
resizeContents: false 
    //expand: true 
}) 
}); 

Sans les 3 premières lignes, il fonctionne, mais avec cette Firebug dit $ ("# galerie") des données ("AnythingSlider") est défini..

Répondre

1

Il est parce que data('AnythingSlider') n'est pas disponible avant l'initialisation du plug-in, donc il suffit de placer vos lignes suivantes

var current = $('#gallery').data('AnythingSlider').currentPage; 
var pages = $('#gallery').data('AnythingSlider').pages; 
$('.slides').append(current + '/' + pages); 

fond de ces lignes

$('#gallery').anythingSlider({ 
    appendBackTo: '.arrow-left', 
    appendForwardTo: '.arrow-right', 
    buildNavigation: false, 
    buildStartStop: false, 
    easing: 'linear', 
    resizeContents: false 
    //expand: true 
}); 

Si tout le reste est juste, alors il devrait fonctionner. data('AnythingSlider') sera disponible seulement quand le plugin sera initialisé car ces données seront ajoutées par ce plugin et jusque là ces données sont undefined.

+0

merci, cela a résolu le problème. J'étais sûr que j'avais essayé, mais j'avais tort. merci encore – Carlo

+0

Vous êtes les bienvenus :-) –