primary-navigation.js 852 B

123456789101112131415161718192021222324252627282930313233343536
  1. /**
  2. * File primary-navigation.js.
  3. *
  4. * Required to open and close the mobile navigation.
  5. */
  6. ( function() {
  7. /**
  8. * Menu Toggle Behaviors
  9. *
  10. * @param {Element} element
  11. */
  12. function menuToggleUI( toggleButtonID, navOpenClass = 'primary-navigation-open' ) {
  13. var wrapper = document.body;
  14. var toggleButton = document.getElementById( toggleButtonID );
  15. var lockScrollClass = 'lock-scrolling';
  16. var navOpenClass;
  17. // Toggle click if it exists
  18. toggleButton ?
  19. toggleButton.onclick = function() {
  20. wrapper.classList.toggle(navOpenClass);
  21. wrapper.classList.toggle(lockScrollClass);
  22. } : null;
  23. }
  24. /**
  25. * Run our menuToggleUI function on load
  26. */
  27. window.addEventListener( 'load', function() {
  28. menuToggleUI( 'toggle-menu', 'primary-navigation-open' );
  29. menuToggleUI( 'toggle-cart', 'wc-navigation-open' );
  30. });
  31. } )();