JQuery Fancybox получить значение идентификатора - PullRequest
0 голосов
/ 14 июля 2010

я пытаюсь получить значение идентификатора ссылающегося a. Код для моего a выглядит так:

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

Я использую phpFlickr для присвоения идентификаторов, а также некоторых других вещей, которые отлично работают.

Итак, код для открытия Fancybox, который я использую:

$("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
        });

затем функция fomatTitle, которая:

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>';
}

В этой функции все работает, кроме this.id. Очевидно, я делаю это неправильно, поэтому любая помощь будет вершинами! Спасибо.

1 Ответ

0 голосов
/ 14 июля 2010

Измените

$(this).id
на
this.id
или
$(this).attr('id')

и посмотрите, работает ли это.

РЕДАКТИРОВАТЬ: Хорошо, я проверил это, и это работает:

Используйте currentArray[currentIndex].id, чтобы получить идентификатор.

В качестве альтернативы, есливсе, что вам нужно, это идентификатор, чтобы вы могли использовать его для указания на свое изображение, вы можете просто использовать в нем $ (this) .attr ('href').

...