offcanvas-menu.js 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. (function($) {
  2. 'use strict';
  3. $(document).ready(function() {
  4. const $hamburger = $('.hamburger-toggle');
  5. const $offcanvas = $('.offcanvas-menu');
  6. const $body = $('body');
  7. // Debug check for elements
  8. console.log('Hamburger found:', $hamburger.length);
  9. console.log('Offcanvas found:', $offcanvas.length);
  10. $hamburger.on('click', function(e) {
  11. e.preventDefault();
  12. console.log('Hamburger clicked');
  13. $(this).toggleClass('active'); // Changed from is-active to active
  14. $offcanvas.toggleClass('active');
  15. $body.toggleClass('menu-open');
  16. });
  17. // Close menu when clicking document
  18. $(document).on('click', function(e) {
  19. if (!$(e.target).closest('.wp-block-srh-offcanvas-menu').length &&
  20. !$(e.target).closest('.hamburger-toggle').length) {
  21. $hamburger.removeClass('active');
  22. $offcanvas.removeClass('active');
  23. $body.removeClass('menu-open');
  24. }
  25. });
  26. // Stop propagation on menu clicks
  27. $('.offcanvas-menu-inner').on('click', function(e) {
  28. e.stopPropagation();
  29. });
  30. });
  31. })(jQuery);