11540 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

Dans une liste d'images, je récupère le nombre le <li> pour l'afficher dans l'id "nombre".

Ma liste se trouve dans un <div class="image_thumb>. Chaque <li> comporte un lien vers la grande image, et la petite image.

La page est en test à cette adresse :
http://philippe-auguste.com/2012/mur/rive-gauche/r-g-o-guenegaud.html

voici mon code jquery

var n = $(".image_thumb li").size();
	$("#nombre").text( + n + " vignettes à faire défiler.") ;


Je souhaiterais aussi dire sur quel numéro de <li> on se trouve pour l'afficher dans l'id "reste".
(A défaut de dire combien il en reste, ce qui me semble plus compliqué, à mon niveau.)

$(".image_thumb li a").click(function(){ 
  var linkList = $(".image_thumb li").find("a"); 
   var index = linkList.index($(this)); 
   $("#reste").text("Ceci est la " + index + "e vignette");


Cela fonctionne bien, sauf que bien sur cela commence par dire : Ceci est la 0e vignette.

Y a-t-il une possibilité de lui dire de commencer à 1 et non à 0 ?


Merci d'avance de votre aide.
Bonjour.
$("#reste").text("Ceci est la " + (index + 1) + "e vignette, plus que " + (n - index));
Merci !!!!
Ça fonctionne à merveille.

J'y ai passé des heures (je ne suis pas pro de jquery, seulement html et css)

J'avais pourtant essayé index + 1, mais ma syntaxe devait être fausse sans doute,
et bien sûr la suite, en la voyant me semble évidente.

Merci encore.
Yup, ne pas oublier les parenthèses, sinon, si index vaut 1, ça va afficher 11 au lieu de 2 (ça ne va pas faire de calcul)
Rebonjour,

En fait j'ai répondu un peu trop vite, trop contente Smiley cligne

Cela dit :

5 vignettes.
Ceci est la 1e vignette, plus que 5.

ce n'est donc pas logique, cela devrait dire "plus que 4."
Mais la encore je ne suis pas sure.

Une idée ?

Merci
Au temps pour moi, il faut mettre (n - index - 1) (et oui, on a vu que index commençait à 0, et 5 - 0 = 5...).
Modifié par Gothor (27 Aug 2012 - 16:36)
Rebonjour,

Je crois avoir trouvé :

 $("#reste").text("Ceci est la " + (index + 1) + "e vignette, plus que " + (n - index -1) );


a l'air de fonctionner.

Et oui merci pour les parenthèses, j'avais bien constaté ce gendre de résultat.
Vu tous les essais que j'ai faits, je finis par voir ce que ça produit.
j' apprends comme ça, toute seule, mais au bout d'un moment, ça bloque vraiment trop.

Du coup j'ai même réussi à écrire quand c'est la dernière:

if( (n - index) == 1){ 
		 $("#reste").text("Ceci est la  dernière vignette");}


Merci encore