Ho un effetto di sovrapposizione per un sito Web a pagina singola. Ho due collegamenti per due sovrapposizioni. Dopo aver fatto clic sul secondo collegamento, il primo overlay non si chiude e vengono visualizzati due overlay. Come posso chiudere la sovrapposizione iniziale?Come posso attivare le mie sovrapposizioni in modo che possa chiudersi quando si fa clic su un altro collegamento?
HTML:
<nav id="menuheader">
<ul style="display:block;">
<li>
<div class="about link" data-link="overlay-about"> About </div>
</li>
<li>
<div class="service link" data-link="overlay-service"> Services </div>
</li>
<li>
<div class="contact link"> Contact </div>
</li>
</ul>
</nav>
<aside class=" overlay overlay-about overlay-contentscale">
<div class="overlay_close"></div>
</aside>
<aside class="overlay overlay-service overlay-contentscale ">
<div class="overlay_close"></div>
</aside>
Javascript:
$(".link").on('click', function(e) {
e.preventDefault();
var currentClass = $(this).data("link");
$("aside." + currentClass).addClass("open");
})
$('.overlay_close').on('click', function() {
if ($('.overlay').hasClass('open')) {
$("aside.overlay").removeClass("open");
$(".overlay").addClass('close');
$('.overlay').removeClass('close');
}
});
Se è possibile utilizzare Javascript, non JQuery.
Su ogni click che attiva un overlay chiudere tutte le sovrapposizioni (rimuovere la classe libera) e quindi aggiungere un open classe alla sovrapposizione corrente. – Skatch