@@ -258,19 +258,28 @@ mobileMenuBtn.addEventListener('click', () => {
258
258
mobileMenuBtn . classList . toggle ( 'active' ) ;
259
259
navItems . classList . toggle ( 'active' ) ;
260
260
261
+ // Toggle body scrolling
262
+ if ( navItems . classList . contains ( 'active' ) ) {
263
+ document . body . style . overflow = 'hidden' ;
264
+ } else {
265
+ document . body . style . overflow = 'auto' ;
266
+ }
267
+
261
268
// Update accessibility attributes
262
269
const isOpen = navItems . classList . contains ( 'active' ) ;
263
270
mobileMenuBtn . setAttribute ( 'aria-expanded' , isOpen ) ;
264
271
mobileMenuBtn . setAttribute ( 'aria-label' , isOpen ? 'Close mobile menu' : 'Open mobile menu' ) ;
265
272
} ) ;
266
273
274
+
267
275
// Close mobile menu when clicking outside
268
276
document . addEventListener ( 'click' , ( e ) => {
269
277
if ( ! navItems . contains ( e . target ) && ! mobileMenuBtn . contains ( e . target ) && navItems . classList . contains ( 'active' ) ) {
270
278
mobileMenuBtn . classList . remove ( 'active' ) ;
271
279
navItems . classList . remove ( 'active' ) ;
272
280
mobileMenuBtn . setAttribute ( 'aria-expanded' , 'false' ) ;
273
281
mobileMenuBtn . setAttribute ( 'aria-label' , 'Open mobile menu' ) ;
282
+ document . body . style . overflow = 'auto' ;
274
283
}
275
284
} ) ;
276
285
@@ -281,6 +290,7 @@ window.addEventListener('resize', () => {
281
290
navItems . classList . remove ( 'active' ) ;
282
291
mobileMenuBtn . setAttribute ( 'aria-expanded' , 'false' ) ;
283
292
mobileMenuBtn . setAttribute ( 'aria-label' , 'Open mobile menu' ) ;
293
+ document . body . style . overflow = 'auto' ;
284
294
}
285
295
} ) ;
286
296
0 commit comments