You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Website/assets/js/jquery.selectorr.min.js

3 lines
1.4 KiB
JavaScript

/* jquery.selectorr v0.2 | (c) @ajlkn | MIT licensed */
!function(e){e.fn.selectorr=function(t){var i=e(this),s=e.extend({titleSelector:".title",delay:0},t);if(0==this.length)return i;if(this.length>1){for(var a=0;a<this.length;a++)e.selectorr(e(this[a]),s);return i}return e.selectorr(i,s)},e.selectorr=function(t,i){var s,a,l,n=t.children("li"),r=e('<div><ul class="titles"></ul><div class="panels"></div></div>').insertAfter(t),c=r.find(".titles"),d=r.find(".panels"),o=0,v=!1;(l=n.filter(".active")).length>0&&(o=l.index()),n.each(function(t){var l,n,r,f,u=e(this);r=u.find(i.titleSelector),f=r.attr("href"),l=e('<li class="title">'+r.html()+"</li>"),c.append(l),r.remove(),l.css("cursor","pointer"),u.wrapInner('<div class="panel" />'),n=u.children("div"),n.appendTo(d),l.on("click",function(e){if(v||l.hasClass("active"))return!1;if(f)return location.href=f,!1;v=!0,s.removeClass("active"),l.addClass("active");var t=a.filter(".active");return t.length>0?(t.removeClass("active"),setTimeout(function(){t.css("display","none"),n.show(),n.addClass("active"),setTimeout(function(){v=!1},i.delay)},i.delay)):(n.css("display",""),n.addClass("active"),setTimeout(function(){v=!1},i.delay)),!1}),t==o?(l.addClass("active"),n.addClass("active")):n.css("display","none")}),r.attr("id",t.attr("id")).attr("class",t.attr("class")),t.remove(),s=c.find(".title"),a=d.find(".panel")}}(jQuery);