(function($){ $.fn.Dropdown = function( options ){ var defaults = { }; var $this = $(this) ; var clearDropdown = function(){ $(".dropdown-menu").each(function(){ if ( $(this).css('position') == 'static' ) return; $(this).slideUp('fast', function(){}); $(this).parent().removeClass("active"); }); }; var initSelectors = function(selectors){ selectors.off("click.dropdown"); selectors.on('click.dropdown', function(e){ //e.stopPropagation(); //$("[data-role=dropdown]").removeClass("active"); if($(e.originalEvent.target).parent().is("[data-role]")) e.stopPropagation(); clearDropdown(); $(this).parents("ul").css("overflow", "visible"); var $m = $(this).children(".dropdown-menu, .sidebar-dropdown-menu"); $(this).parents("ul").children(".dropdown").children(".dropdown-menu, .sidebar-dropdown-menu").each(function(){ if(!$(this).hasClass("keep-opened") && !$m.hasClass("keep-opened")) { $(this).slideUp('fast'); $(this).parents("li").removeClass("active"); } }); if ($m.css('display') == "block") { $m.slideUp('fast'); $(this).removeClass("active"); } else { $m.slideDown('fast'); $(this).addClass("active"); } }).on("mouseleave", function(){ //$(this).children(".dropdown-menu").hide(); }); $('html').on("click", function(e){ if(e.originalEvent && $(e.originalEvent.target).parents('[data-role="dropdown"]').length == 0) clearDropdown(); }); }; return this.each(function(){ if ( options ) { $.extend(defaults, options); } initSelectors($this); }); }; $(function () { $('[data-role="dropdown"]').each(function () { $(this).Dropdown(); }); }); })(window.jQuery); (function($){ $.fn.PullDown = function( options ){ var defaults = { }; var $this = $(this) ; var initSelectors = function(selectors){ selectors.on('click', function(e){ e.preventDefault(); var $m = $this.parent().children("ul"); //console.log($m); if ($m.css('display') == "block") { $m.slideUp('fast'); } else { $m.slideDown('fast'); } //$(this).toggleClass("active"); }); }; return this.each(function(){ if ( options ) { $.extend(defaults, options); } initSelectors($this); }); }; $(function () { $('.pull-menu, .menu-pull').each(function () { $(this).PullDown(); }); }); })(window.jQuery);