toggle
을 클릭하면 왼쪽에서 슬라이드하는 off-screen nav
에 대한 템플릿이 있습니다. 내가 무엇을하고 싶은지 nav
슬라이드, 오버레이가 그 뒤에 내용을 어둡게합니다. 이렇게하려면 div
페이지 콘텐츠를 감싸고 내용을 커버하는 BG 색상을 추가하려고했지만 작동하지 않습니다.슬라이드 인 탐색 오버레이
아무도 도와 줄 수 있습니까? 아래 코드 :
$(document).ready(function() {
\t var toggle = $('.toggle');
\t var osNav = $('.offScreen-nav');
\t var pageContainer = $('.page-container');
\t
\t toggle.click(function() {
\t \t osNav.toggleClass('showNav');
\t \t pageContainer.toggleClass('navOnScreen')
\t });
})
* {
\t margin: 0;
\t padding: 0;
\t overflow: hidden;
}
nav {
\t width: 100%;
\t height: 70px;
\t //border: 1px solid;
\t background-color: #f1f1f1;
\t display: flex;
\t flex-direction: row;
\t justify-content: flex-end;
}
.toggle {
\t height: 50px;
\t width: 50px;
\t border: 1px solid;
\t background-color: rgba(17,17,17, .9);
\t opacity: .9;
\t margin: 20px 15px;
\t cursor: pointer;
\t align-self: center;
}
main {
\t height: 1000px;
\t background-color: #ddd;
}
.offScreen-nav {
\t width: 340px;
\t height: 100vh;
\t position: fixed;
\t margin-left: 0;
\t overflow: hidden;
\t z-index: 2000;
\t background-color: rgba(17,17,17, .9);
\t transition: all .3s ease-in-out;
\t transform: translate3d(-340px,0,0);
}
.showNav {
\t transform: translate3d(0,0,0);
}
.page-container {
\t transform: translate3d(0,0,0);
\t transition: all .3s ease-in-out;
\t transition-delay: .1s;
}
.page-container.navOnScreen {
\t background-color: rgba(0,0,0, .6);
\t transform: translate3d(20px,0,0);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="offScreen-nav"></div>
<div class="page-container">
\t <nav>
\t <div class="toggle"></div>
</nav>
\t <main></main> \t
</div>