0 votes

jQuery Fancybox obtient la valeur de l'identifiant d'un objet

Ce que j'essaie de faire, c'est d'obtenir la valeur de l'ID de la référence a. Le code de ma référence a ressemble à ceci :

<a class="photoBig" id="<?php echo $photo['id'] ?>" href="<?php echo $f->buildPhotoURL($photo, 'large') ?>" title="<?php echo $photo['title'] ?>">

J'utilise phpFlickr pour assigner les identifiants et d'autres choses, ce qui fonctionne bien.

Le code d'ouverture de la Fancybox que j'utilise est donc le suivant :

$("a.photoBig").attr('rel', 'gallery').fancybox({
            'titleShow'     : true,
            'overlayOpacity' : 0.9,
            'overlayColor' : '#000',
            'autoScale' : false,
            'scrolling' : true,
            'titlePosition' : 'inside',
            'showNavArrows' : true,
            'cyclic' : true,
            'showCloseButton' : false,
            'titleFormat' : formatTitle
        });

puis la fonction fomatTitle, qui est :

function formatTitle(title, id, currentArray, currentIndex, currentOpts) {
    return '<div id="photoBig-title"><span><a href="javascript:;" onclick="$.fancybox.close();"><img src="images/site/closelabel.gif"></a></span>' + (title && title.length ? '<strong>' + title + '</strong>' : '' ) + $(this).id + '<a href="http://www.flickr.com/photos/rustybones/' + this.id + '" title="view original on flickr">view full size</a></div>';
}

Tout fonctionne dans cette fonction à l'exception de this.id. Il est évident que je m'y prends mal, donc toute aide serait la bienvenue ! Je vous remercie.

0voto

user384918 Points 203

Changer

~~

$(this).id
à
this.id
o
$(this).attr('id')

~~

et voir si cela fonctionne.

EDIT : Ok, j'ai testé et ça marche :

Utilice currentArray[currentIndex].id pour obtenir l'identifiant.

Sinon, si tout ce que vous vouliez était l'identifiant afin de pouvoir l'utiliser pour pointer vers votre image, vous pourriez simplement utiliser $(this).attr('href') à l'intérieur.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X