Я получил это работает, но только если я нажму на кнопку. Всякий раз, когда я нажимаю за пределами кнопки, класс оверлея active
не работает должным образом.
Я хотел бы отображать класс «активного оверлея» только при отображении раскрывающегося списка.
ДЕМО: https://jsfiddle.net/Laxu6s0n/
HTML:
<div class="dropdown">
<button class="btn btn-primary dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
YOLO
</button>
<div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
<a class="dropdown-item" href="#">111</a>
<a class="dropdown-item" href="#">222</a>
</div>
</div>
<p>This is a body</p>
<div class="overlay">
I'm an overlay
</div>
JS:
$(".dropdown-toggle").click(function () {
$('.overlay').toggleClass('active');
});
CSS:
.overlay.active {
position: absolute;
width: 100%;
height: 100%;
top: 45px;
left: 0;
right: 0;
bottom: 0;
background-color: rgba(0,0,0,0.5);
z-index: 2;
cursor: pointer;
}