| 1 |
- !function(s){var e;e={init:function(e,t){e.addClass("stack-menu"),e.find("ul").addClass("stack-menu__list"),e.find("ul:first").addClass("stack-menu__list--root").addClass("stack-menu__list--active"),e.find("li").addClass("stack-menu__item"),e.find("a").addClass("stack-menu__link"),s(".stack-menu__item").each(function(e){s(this).attr("data-id",e),s(this).find(".stack-menu__list").length>0&&s(this).children(".stack-menu__link").addClass("stack-menu__link--parent")}),s(".stack-menu__list").each(function(){var e,a,n,i,_;s(this).hasClass("stack-menu__list--root")||(t.all&&(_=s(this).closest(".stack-menu__item").find(".stack-menu__link").attr("href"),e=s("<li>",{class:"stack-menu__item"}),a=s("<a>",{class:"stack-menu__link",href:_,text:t.allTitle}),e.append(a),s(this).prepend(e)),n=s("<li>",{class:"stack-menu__item"}),i=s("<a>",{class:"stack-menu__link stack-menu__link--back",href:"#",html:" "}),n.append(i),s(this).prepend(n))}),e.find(".stack-menu__link").click(function(e){var t,a,n,i,_;if(a=s(this),t=a.closest(".stack-menu__item"),n=t.closest(".stack-menu__list"),i=n.closest(".stack-menu__item"),_=t.children(".stack-menu__list"),a.hasClass("stack-menu__link--back"))e.preventDefault(),n.removeClass("stack-menu__list--active"),n.removeClass("stack-menu__list--active"),i.removeClass("stack-menu__item--opened"),i.find(".stack-menu__link").removeClass("stack-menu__link--hidden"),i.closest(".stack-menu__list").children(".stack-menu__item").removeClass("stack-menu__item--hidden");else{if(0===t.children(".stack-menu__list").length)return!0;e.preventDefault(),i.addClass("stack-menu__item--opened"),a.addClass("stack-menu__link--hidden"),_.addClass("stack-menu__list--active"),s(n.children(".stack-menu__item")).each(function(){s(this).data("id")!==t.data("id")&&s(this).addClass("stack-menu__item--hidden")})}})}},jQuery.fn.stackMenu=function(t){return t=s.extend({all:!1,allTitle:"All"},t),e.init(this,t),{reset:function(e){s(e).find(".stack-menu").removeClass("stack-menu--active"),s(e).find(".stack-menu__list").removeClass("stack-menu__list--active"),s(e).find(".stack-menu__item").removeClass("stack-menu__item--hidden").removeClass("stack-menu__item--opened"),s(e).find(".stack-menu__link").removeClass("stack-menu__link--hidden"),s(e).find(".stack-menu__list--root").addClass("stack-menu__list--active")}}}}(jQuery);
|