Я использую Fancybox 3 , чтобы отобразить 3 элемента.Все они связаны друг с другом с помощью атрибута галереи, например:
<!-- Item 1 -->
<a data-fancybox="gallery" data-src="#gallery-1" href="javascript:;">
Open Me
</a>
<div style="display: none;" id="gallery-1">
<h2>Gallery 1</h2>
<p>Content</p>
<a data-fancybox data-src="signup" href="javascript:;">
</div>
<!-- Item 2 -->
<a data-fancybox="gallery" data-src="#gallery-2" href="javascript:;">
Open Me
</a>
<div style="display: none;" id="gallery-2">
<h2>Gallery 2</h2>
<p>Content</p>
<a data-fancybox data-src="signup" href="javascript:;">
</div>
<!-- Item 3 -->
<a data-fancybox="gallery" data-src="#gallery-3" href="javascript:;">
Open Me
</a>
<div style="display: none;" id="gallery-3">
<h2>Gallery 3</h2>
<p>Content</p>
<a data-fancybox data-src="#signup" href="javascript:;">
</div>
<!-- Signup -->
<div style="display: none;" id="signup">
<h2>Signup</h2>
<p>Sign up form goes here</h2>
</div>
Внутри каждого элемента есть ссылка для регистрации, которая ссылается на отдельное всплывающее окно.При нажатии открывается еще одно окно fancybox в уже открытом элементе галереи.Как закрыть предыдущий экземпляр перед запуском другого?Я бы предпочел, чтобы они не гнездились.
Я пробовал это в моем JS, но это не работает:
( function( $ ) {
$('[data-fancybox]').fancybox({
closeExisting: true,
loop: true
});
} )( jQuery )