Mam problem z menu w JS. Teoretycznie ono działa, ale za drugim razem już przestaje. Czasem działa kilka razy i zonk. Nie mam pojęcia o co tu chodzi, gdyż nie jestem doświadczony z tej tematyki a projekt jest jednorazowy.

Podglad:
http://viamarimar.cba.pl/green/

1. Gdy kliasz ikone Menu dziala (nieskonczonosc razy)
2. Klikniesz szukajke przestaje widac sam .top-overlay
3. To samo w druga strone mozesz klikac szukajke x razy nic nie bedzie , po czym klikniesz druga ikone i wszystko sie psuje (menu znika - doslownie)

4. Osobny problem jest jest z wyjsciem z menu po kliknieciu w overlay - klikasz i menu znika? wtf

5. albo nie działa nic tylko widać tło po kliknięciu w ikone

TU kod js:
  1. //MENU SLIDE
  2. $('#nav-expander').on('click',function(e){
  3. e.preventDefault();
  4. $("#search").css("display", "none");
  5. $('body').toggleClass('nav-expanded');
  6. $(".top-overlay").css("display", "block");
  7. });
  8. $('#nav-close').on('click',function(e){
  9. e.preventDefault();
  10. $('body').removeClass('nav-expanded');
  11. $(".top-overlay").css("display", "none");
  12. });
  13.  
  14.  
  15. //SEARCH SLIDE
  16. $('#nav-search').on('click',function(e){
  17. e.preventDefault();
  18. $("#menu").css("display", "none");
  19. $('body').toggleClass('nav-search');
  20. $(".top-overlay").css("display", "block");
  21. });
  22. $('#nav-search-close').on('click',function(e){
  23. e.preventDefault();
  24. $('body').removeClass('nav-search');
  25. $(".top-overlay").css("display", "none");
  26. });
  27.  
  28.  
  29. $('.top-overlay').on('click', function(e) {
  30. $(".top-overlay").css("display", "none");
  31. $('body').removeClass('nav-search');
  32. $('body').removeClass('nav-expanded');
  33. });


Prosze o wskazanie gdzie popełniam błąd.