/** * jQuery EasyUI 1.1.2 * * Licensed under the GPL: * http://www.gnu.org/licenses/gpl.txt * * Copyright 2010 stworthy [ stworthy@gmail.com ] * */ (function($){ function _1(_2){ $(_2).appendTo("body"); $(_2).addClass("menu-top"); var _3=[]; _4($(_2)); var _5=null; for(var i=0;i<_3.length;i++){ var _6=_3[i]; _7(_6); _6.find(">div.menu-item").each(function(){ _8($(this)); }); _6.find("div.menu-item").click(function(){ if(!this.submenu){ _16(_2); var _9=$(this).attr("href"); if(_9){ location.href=_9; } } }); _6.bind("mouseenter",function(){ if(_5){ clearTimeout(_5); _5=null; } }).bind("mouseleave",function(){ _5=setTimeout(function(){ _16(_2); },100); }); } function _4(_a){ _3.push(_a); _a.find(">div").each(function(){ var _b=$(this); var _c=_b.find(">div"); if(_c.length){ _c.insertAfter(_2); _b[0].submenu=_c; _4(_c); } }); }; function _8(_d){ _d.hover(function(){ _d.siblings().each(function(){ if(this.submenu){ _19(this.submenu); } $(this).removeClass("menu-active"); }); _d.addClass("menu-active"); var _e=_d[0].submenu; if(_e){ var _f=_d.offset().left+_d.outerWidth()-2; if(_f+_e.outerWidth()>$(window).width()){ _f=_d.offset().left-_e.outerWidth()+2; } _1d(_e,{left:_f,top:_d.offset().top-3}); } },function(e){ _d.removeClass("menu-active"); var _10=_d[0].submenu; if(_10){ if(e.pageX>=parseInt(_10.css("left"))){ _d.addClass("menu-active"); }else{ _19(_10); } }else{ _d.removeClass("menu-active"); } }); _d.unbind(".menu").bind("mousedown.menu",function(){ return false; }); }; function _7(_11){ _11.addClass("menu").find(">div").each(function(){ var _12=$(this); if(_12.hasClass("menu-sep")){ _12.html(" "); }else{ var _13=_12.addClass("menu-item").html(); _12.empty().append($("
").html(_13)); var _14=_12.attr("icon"); if(_14){ $("").addClass(_14).appendTo(_12); } if(_12[0].submenu){ $("").appendTo(_12); } if($.boxModel==true){ var _15=_12.height(); _12.height(_15-(_12.outerHeight()-_12.height())); } } }); _11.hide(); }; }; function _16(_17){ var _18=$.data(_17,"menu").options; _19($(_17)); $(document).unbind(".menu"); _18.onHide.call(_17); return false; }; function _1a(_1b,pos){ var _1c=$.data(_1b,"menu").options; if(pos){ _1c.left=pos.left; _1c.top=pos.top; } _1d($(_1b),{left:_1c.left,top:_1c.top},function(){ $(document).unbind(".menu").bind("mousedown.menu",function(){ _16(_1b); $(document).unbind(".menu"); return false; }); _1c.onShow.call(_1b); }); }; function _1d(_1e,pos,_1f){ if(!_1e){ return; } if(pos){ _1e.css(pos); } _1e.show(1,function(){ if(!_1e[0].shadow){ _1e[0].shadow=$("").insertAfter(_1e); } _1e[0].shadow.css({display:"block",zIndex:$.fn.menu.defaults.zIndex++,left:_1e.css("left"),top:_1e.css("top"),width:_1e.outerWidth(),height:_1e.outerHeight()}); _1e.css("z-index",$.fn.menu.defaults.zIndex++); if(_1f){ _1f(); } }); }; function _19(_20){ if(!_20){ return; } _21(_20); _20.find("div.menu-item").each(function(){ if(this.submenu){ _19(this.submenu); } $(this).removeClass("menu-active"); }); function _21(m){ if(m[0].shadow){ m[0].shadow.hide(); } m.hide(); }; }; $.fn.menu=function(_22,_23){ if(typeof _22=="string"){ switch(_22){ case "show": return this.each(function(){ _1a(this,_23); }); case "hide": return this.each(function(){ _16(this); }); } } _22=_22||{}; return this.each(function(){ var _24=$.data(this,"menu"); if(_24){ $.extend(_24.options,_22); }else{ _24=$.data(this,"menu",{options:$.extend({},$.fn.menu.defaults,_22)}); _1(this); } $(this).css({left:_24.options.left,top:_24.options.top}); }); }; $.fn.menu.defaults={zIndex:110000,left:0,top:0,onShow:function(){ },onHide:function(){ }}; })(jQuery);