Skip to content

Commit c20206b

Browse files
committed
add touch event to quit the navbar
1 parent 89c7050 commit c20206b

File tree

3 files changed

+36
-21
lines changed

3 files changed

+36
-21
lines changed

css/navbar.css

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,14 +60,16 @@
6060

6161
#nav-columnar-menu {
6262
position: absolute;
63+
padding: 0em;
6364
margin-top: 0;
64-
padding:2em;
6565
background-color: rgb(38, 26, 50);
6666
width: 60%;
6767
z-index: 3;
6868
left: -100vw;
6969
list-style-type: none;
7070
transition: all 0.3s ease-in;
71+
height: 100vh;
72+
7173
}
7274

7375
#nav-columnar-menu.active {
@@ -91,3 +93,6 @@
9193
.nav-link.compressed {
9294
padding: 0;
9395
}
96+
.nav-link-label{
97+
padding-left: 2em;
98+
}

index.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -57,16 +57,16 @@
5757
</div>
5858
<ul id="nav-columnar-menu">
5959
<li class="nav-element">
60-
<a class="nav-link compressed" href="#"><h1>Home</h1></a>
60+
<a class="nav-link compressed" href="#"><h1 class="nav-link-label">Home</h1></a>
6161
</li>
6262
<li class="nav-element">
63-
<a class="nav-link compressed" href="#aboutMe"><h1>About me</h1></a>
63+
<a class="nav-link compressed" href="#aboutMe"><h1 class="nav-link-label">About me</h1></a>
6464
</li>
6565
<li class="nav-element">
66-
<a class="nav-link compressed" href="#work"><h1>Work</h1></a>
66+
<a class="nav-link compressed" href="#work"><h1 class="nav-link-label">Work</h1></a>
6767
</li>
6868
<li class="nav-element">
69-
<a class="nav-link compressed" href="#contact"><h1>Contact</h1></a>
69+
<a class="nav-link compressed" href="#contact"><h1 class="nav-link-label">Contact</h1></a>
7070
</li>
7171

7272
</ul>

index.js

Lines changed: 26 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -13,25 +13,35 @@ function reveal() {
1313
}
1414
})
1515
}
16-
window.addEventListener("scroll", reveal)
16+
window.addEventListener("scroll", reveal);
17+
18+
function activeNav(element){
19+
const navColumnarMenu = document.getElementById('nav-columnar-menu');
20+
if (navColumnarMenu.classList.contains('active')) {
21+
navColumnarMenu.classList.remove("active");
22+
document.getElementsByTagName("main")[0].classList.remove('opacity-effect')
23+
document.getElementsByClassName("nav-header-menu")[0].classList.remove('opacity-effect')
24+
}
25+
else if(element.id==='show-nav-columnar-menu'){
26+
navColumnarMenu.classList.add("active");
27+
document.getElementsByTagName("main")[0].classList.add('opacity-effect')
28+
document.getElementsByClassName("nav-header-menu")[0].classList.add('opacity-effect')
29+
// document.getElementsByClassName("nav-header-menu")[0].
30+
}
31+
32+
}
1733
document.addEventListener("DOMContentLoaded", function (event) {
1834
[...document.getElementsByTagName("a")].forEach(
1935
function (element) {
20-
element.addEventListener('click', function () {
21-
const navColumnarMenu = document.getElementById('nav-columnar-menu');
22-
if (navColumnarMenu.classList.contains('active')) {
23-
navColumnarMenu.classList.remove("active");
24-
document.getElementsByTagName("main")[0].classList.remove('opacity-effect')
25-
document.getElementsByClassName("nav-header-menu")[0].classList.remove('opacity-effect')
26-
}
27-
else if(element.id==='show-nav-columnar-menu'){
28-
navColumnarMenu.classList.add("active");
29-
document.getElementsByTagName("main")[0].classList.add('opacity-effect')
30-
document.getElementsByClassName("nav-header-menu")[0].classList.add('opacity-effect')
31-
32-
}
33-
34-
})
36+
element.addEventListener('click', ()=>activeNav(element))
3537
}
3638
)
39+
document.addEventListener('touchstart', (ev) => {
40+
if(ev.path.some(element=>(element.tagName==='MAIN'||element.classList?.contains('nav-header-menu')))){
41+
const navColumnarMenu = document.getElementById("nav-columnar-menu");
42+
navColumnarMenu.classList.remove("active");
43+
document.getElementsByTagName("main")[0].classList.remove('opacity-effect')
44+
document.getElementsByClassName("nav-header-menu")[0].classList.remove('opacity-effect')
45+
}
46+
}, false);
3747
})

0 commit comments

Comments
 (0)