Skip to content

Commit f000c02

Browse files
author
TechStack Global
committed
fix: resolve mobile bugs (toggle, responsiveness, padding)
1 parent 1ffcc78 commit f000c02

4 files changed

Lines changed: 322 additions & 150 deletions

File tree

script.js

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,23 +13,33 @@ document.addEventListener('DOMContentLoaded', () => {
1313
});
1414
});
1515

16-
// Mobile Menu Toggle
16+
// Mobile Hamburger Menu Toggle (Issue 2)
1717
const menuToggle = document.querySelector('.menu-toggle');
1818
const navLinks = document.querySelector('.nav-links');
1919

2020
if (menuToggle && navLinks) {
21-
menuToggle.addEventListener('click', () => {
21+
menuToggle.addEventListener('click', (e) => {
22+
e.stopPropagation(); // Prevent immediate closing
2223
navLinks.classList.toggle('active');
2324

2425
// Toggle icon between bars and times
2526
const icon = menuToggle.querySelector('i');
2627
if (icon) {
2728
if (navLinks.classList.contains('active')) {
28-
icon.classList.remove('fa-bars');
29-
icon.classList.add('fa-times');
29+
icon.classList.replace('fa-bars', 'fa-xmark');
3030
} else {
31-
icon.classList.remove('fa-times');
32-
icon.classList.add('fa-bars');
31+
icon.classList.replace('fa-xmark', 'fa-bars');
32+
}
33+
}
34+
});
35+
36+
// Close menu when clicking outside
37+
document.addEventListener('click', (e) => {
38+
if (navLinks.classList.contains('active') && !navLinks.contains(e.target) && !menuToggle.contains(e.target)) {
39+
navLinks.classList.remove('active');
40+
const icon = menuToggle.querySelector('i');
41+
if (icon) {
42+
icon.classList.replace('fa-xmark', 'fa-bars');
3343
}
3444
}
3545
});

0 commit comments

Comments
 (0)