SlootLite

Вопрос на тостере

May 6th, 2019
184
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // Для этого вопроса: https://toster.ru/q/628736
  2.  
  3. $('#menu-trigger-2').unbind('click');
  4. $('#menu-trigger-4').unbind('click');
  5. $('#menu-trigger-5').unbind('click');
  6. $('#menu-trigger-a2').unbind('click');
  7. $('#menu-trigger-a4').unbind('click');
  8. $('#menu-trigger-a5').unbind('click');
  9.  
  10. $('#menu-trigger-2').attr({ "class":"menu-trigger-open", "menu-id":"system-block-hid" });
  11. $('#menu-trigger-4').attr({ "class":"menu-trigger-open", "menu-id":"contacts-block-hid" });
  12. $('#menu-trigger-5').attr({ "class":"menu-trigger-open", "menu-id":"search-block-hid" });
  13. $('#menu-trigger-a2').attr({ "class":"menu-trigger-close", "menu-id":"system-block-hid" });
  14. $('#menu-trigger-a4').attr({ "class":"menu-trigger-close", "menu-id":"contacts-block-hid" });
  15. $('#menu-trigger-a5').attr({ "class":"menu-trigger-close", "menu-id":"search-block-hid" });
  16.  
  17. $('#system-block-hid').addClass("menu-container").attr("animate-container","200");
  18. $('#contacts-block-hid').addClass("menu-container").attr("animate-container","400");
  19. $('#search-block-hid').addClass("menu-container").attr("animate-container","250");
  20.  
  21. function openContainer(menu, animateContainerVal) {
  22.     $(".menu-container.open").each(function (idx, element) {
  23.         let jElement = $(element);
  24.         closeContainer(jElement, jElement.attr("animate-container"), false);
  25.     });
  26.     menu.slideDown(400, function() {
  27.         menu.addClass("open");
  28.         $(".container").animate({
  29.             marginTop: animateContainerVal+"px"
  30.         }, 1000, function(){
  31.             // Animation complete
  32.         });
  33.     });
  34. }
  35.  
  36. function closeContainer(menu, animateContainerVal, withAnimateContainer) {
  37.     menu.slideUp(400, function(){
  38.         menu.removeClass("open");
  39.         if(withAnimateContainer) {
  40.             $(".container").animate({
  41.                 marginTop: "0px"
  42.             }, 1000, function(){
  43.                 // Animation complete
  44.             });
  45.         }
  46.     });
  47. }
  48.  
  49. $(".menu-trigger-open").click(function(e) {
  50.     e.preventDefault();
  51.     let menu = $("#"+$(this).attr("menu-id")),
  52.     animateContainerVal = menu.attr("animate-container");
  53.     if(menu.hasClass("open")) {
  54.         closeContainer(menu, animateContainerVal, true);
  55.     } else {
  56.         openContainer(menu, animateContainerVal);
  57.     }
  58. });
  59.  
  60. $(".menu-trigger-close").click(function (e) {
  61.     e.preventDefault();
  62.     let menu = $("#"+$(this).attr("menu-id")),
  63.     animateContainerVal = menu.attr("animate-container");
  64.     closeContainer(menu, animateContainerVal, true);
  65. });
Advertisement
Add Comment
Please, Sign In to add comment