Динамический режим 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>&quot;Hang there my verse, in witness of my love&quot;—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 выполняется и работает.

Другие вопросы по тегам