2010-07-21 5 views
0

J'utilise jcarousel pour créer un diaporama défilant et j'ai besoin de faire quelques personnalisations. Il y a une fonction de rappel qui est référencée chaque fois qu'un élément devient le dernier élément visible dans le carrousel.J'ai besoin de personnaliser jcarousel

1. function mycarousel_itemLastInCallback(carousel, item, idx, state) { 
      display('Item #' + idx + ' is now the last item'); 
     }; 

Vous pouvez voir comment cela fonctionne ici. Ce que je voudrais faire, c'est changer cette fonction pour que l'affichage montre juste une légende de l'image actuelle. Je pense à mettre les données de la légende dans la balise alt de chaque image, mais alors comment y accéder? J'ai essayé quelque chose comme ça dans la fonction:

var theimage=item.next(); var thetext=theimage.alt; display('thetext'); 

... qui ne fonctionne pas. Je suis dans ma tête ici! J'espère que quelqu'un m'éclairera.

Ensuite, les données s'ajoutent aux données précédentes dans la zone d'affichage. J'ai besoin de chaque légende pour remplacer la légende précédente. Je ne sais pas comment faire ça non plus. Voici le morceau de code jcarousel qui contrôle ceci:

var row = 1; Affichage fonction (s) {// Connexion à Firebug (getfirebug.com) si elle est disponible // if (window.console! = non défini & & typeof window.console.log == 'fonction') // console. journal (s);

 if (row >= 1000) 
      var r = row; 
     else if (row >= 100) 
      var r = ' ' + row; 
     else if (row >= 10) 
      var r = '  ' + row; 
     else 
      var r = '   ' + row; 

     jQuery('#display').html(jQuery('#display').html() + r + ': ' + s + '<br />').get(0).scrollTop += 10000; 

     row++; 
    }; 

Toute aide est super appréciée! Merci

Répondre

1

Premièrement, vous devriez probablement utiliser attr ('alt') pour accéder aux attributs d'un élément. Ensuite, si vous regardez la méthode display(), elle accepte une chaîne. Si vous en avez besoin pour afficher la variable appelée thetext, alors votre syntaxe est incorrecte, vous voulez quelque chose comme:

var thetext = $ (image) .attr ('alt'); Affichage (texte);

Dans votre exemple la ligne:

var = theImage item.next();

signifie que 'image' est probablement déjà un élément html enveloppé par jquery. Si c'est le cas:

var thetext = image.attr ('alt'); Affichage (texte); Au-delà, je voudrais personnellement voir un exemple de page web. Configurez une page sur jsfiddler.net et remettez le lien ici si vous êtes toujours bloqué

+0

+1 pour JSFiddler, je souhaite que S/O suggère que par défaut lorsque vous postez une question avec les balises JQuery! –