Я пытаюсь получить Magnific Popup для отображения названия, основанного на других элементах вокруг цели, которую он использует. Учитывая следующую разметку, я хочу, чтобы название было «Foobar».Пользовательское название Magnific Popup
<div class="container">
<article>
<h2>Foo</h2>
<figure>
<a href="img/img-1.jpg">
<img src="img/img-1.jpg" />
</a>
<figcaption>
bar1
</figcaption>
</figure>
</article>
<article>
<h2>Foo</h2>
<figure>
<a href="img/img-2.jpg">
<img src="img/img-2.jpg" />
</a>
<figcaption>
bar2
</figcaption>
</figure>
</article>
</div>
То, что я пытался при поиске решений в Интернете (в том числе и этот на StackOverflow) является следующий код:
$('.container').magnificPopup({
delegate: 'article figure a',
type: 'image',
titleSrc: function(item) {
return item.el.parent('article').find('h2').text() + item.el.parent('article').find('figcaption').text();
},
gallery:{enabled:true}
});
Выяснение функции, возможно, был вопрос, я даже пытался просто возвращаем постоянную строку, но это, казалось, ничего не делало:
titleSrc: function(item) {
return "fake Foobar";
}
У кого-нибудь есть какие-то подсказки, как то, что я делаю неправильно?
ПРИМЕЧАНИЕ: Это действительно работает, если я использую titleSrc: «название», но это не поведение, я хочу, так как это заставляет меня должны дублировать содержание в разметке.
Вы могли бы просто создать jsfiddle для этого же, http: //jsfiddle.net – dreamweiver
Вы уверены, что titleSrc работает только с строкой? Посмотрев документацию, вы должны поместить ее под изображение, например 'image: {titleSrc: ...}'. – jazZRo