Динамический режим lightGallery не работает с Firefox и Safari
У меня есть этот код, настроенный для создания галереи галереи изображений, содержащей 34 изображения:
$(document).ready(function (){
$('#view-gallery').on('click', function() {
$(this).lightGallery({
dynamic: true,
dynamicEl: [{
"src": '../images/gallery/01_SL_01.jpg',
'thumb': '../images/gallery/01_SL_01.jpg',
'subHtml': "<div>Leather-bound miniature volume from an edition of The Merchant of Venice printed in the early 20th century to promote a chocolate company.<br/><em>Photo by Shane Lin.</em> </div>"
}, {
'src': '../images/gallery/02_UVALD_03.jpg',
'thumb': '../images/gallery/02_UVALD_03.jpg',
'subHtml': "<div>"Hang there my verse, in witness of my love"—page from an elaborately illustrated edition of <em>As You Like It: a Pleasant Comedy newly embellished with sundry decorations by W. H. Low</em> (1900). Low was a celebrated interior design artist who had decorated New York’s Waldorf Astoria.<br/><em>Image: UVA Library Digital Production Group.</em></div>"
}, {
...
}, {
'src': '../images/gallery/34_SL_34.jpg',
'thumb': '../images/gallery/34_SL_34.jpg',
'subHtml': "<div>Minute page ornamentation from miniature volume of <em>Shakespeare’s Sonnets</em> (2000).<br/><em>Photo by Shane Lin.</em></div>"
}]
})
});
});
И он вызывается, когда кто-то нажимает на эту ссылку:<div class="exhibit-link"><a id="view-gallery" href="">View Gallery</a></div>
Но ссылка работает только в Chrome. При нажатии в других браузерах галерея выглядит так, как будто она будет отображаться, потому что на мгновение вы видите, как первое изображение появляется в наложении, но затем оно исчезает. Я больше ничего не вижу в lightGallery
документация, которая предполагает, что я что-то упустил в моей конфигурации. Но мне было интересно, если бы кто-то еще видел эту проблему и нашел решение. Спасибо
1 ответ
Решение состоит в том, чтобы убедиться, что браузер не пытается перейти в местоположение href, даже если оно пустое. Пустой href в основном перезагрузит страницу. Изменение кода ссылки на
<a id="view-gallery" href="javascript:void(0)">View Gallery</a>
не позволяет Firefox и Safari пытаться перезагрузить страницу. Таким образом, событие onclick выполняется и работает.