fancybox - использовать элемент для подписи
Я хочу использовать fancybox на довольно большом сайте для показа всплывающих изображений, некоторые из которых требуют подписи, а некоторые нет.
Я бы предпочел помещать подписи в скрытые элементы div, поскольку это более гибко, чем использование атрибута caption. Я использовал код из 7. Настройте заголовок -> Использовать элемент вместо атрибута.
Он работает нормально, за исключением того, что на тех изображениях, где нет необходимости в заголовке и нет скрытого элемента div, fancybox затем использует атрибут заголовка из ссылки в качестве заголовка, так что вы можете получить заголовок, например, "Нажмите, чтобы увеличить" ".
Это ожидаемое поведение? Если это так, есть ли способ глобально переопределить его для сайта (не изображение за изображением).
2 ответа
В приведенном выше примере есть условие, которое оценивает наличие скрытого div
элемент, который fancybox использует как title
:
if (id) {
el = $('#' + id);
if (el.length) {
this.title = el.html();
}
}
Единственное, что вам нужно сделать, это добавить else
заявление к тому условию, где вы можете переопределить существующий title
если заголовок не существует
if (id) {
el = $('#' + id);
if (el.length) {
this.title = el.html();
}
} else {
// don't show any title in fancybox
this.title = "";
}
Смотрите JSFIDDLE... последнее изображение имеет title
атрибут, но не соответствующий (скрытый) заголовок.