/* *构建sdapp */ sdapp = (function(){ function app(options){ this.o = options; this.j = jquery; this.init(); } return app; })(); sdapp.prototype.init = function(){ this.client(); this.plugin(); this.renew(); } /** * getclient */ sdapp.prototype.client = function(){ return { "width":this.j(window).width(), "height":this.j(window).height() }; } /** * resize */ sdapp.prototype.renew = function(){ var _this = this; _this.j(window).resize(function(event) { _this.client(); window.console&&console.log(_this.client().width,_this.client().height); }); } /** * plugin */ sdapp.prototype.plugin = function(){ var _this = this; // focus this.o['focus']&&this.j("[data-focus]").sudyfocus(this.o['focus']); // menu if(this.client().width > 999){ /*增加*/ this.j(".wp-navi .wp-menu li").each(function(){ _this.j(this).children(".menu-switch-arrow").appendto(_this.j(this).children(".menu-link")); }); this.j(".wp-navi").find("li").on("mouseenter",function(){ _this.j(this).addclass("hover"); _this.j(this).children("a").addclass("parent"); _this.j(this).children('.sub-menu').show(); }).on("mouseleave",function(){ _this.j(this).removeclass("hover"); _this.j(this).children("a").removeclass("parent"); _this.j(this).children('.sub-menu').hide(); }); } var $aside = this.j("#wp-navi-aside"); if(this.o['menu']){ if(/slide/.test(this.o.menu['type'])){ this.j(".wp-navi").addclass('wp-navi-slide'); this.j(".navi-slide-head").on("click",function(){ _this.j(this).siblings().slidetoggle(150); }); this.j(".wp-navi").find("li").find(".menu-switch-arrow").on("click",function(){ _this.j(this).parent().children('.sub-menu').slidetoggle(250) .parent().siblings(".menu-item,.sub-item").children('.sub-menu').slideup(250); }); } if(/aside/.test(this.o.menu['type'])){ var $menus = []; this.j("[data-nav-aside]").clone().each(function(index, el){ var opt = _this.j.parsejson(_this.j(el).attr("data-nav-aside")); $menus[opt.index] = _this.j('').add(el); });; $.each($menus, function() { _this.j(this).appendto(".navi-aside-wrap"); }); this.j(".navi-aside-toggle").addclass('navi-aside-toggle-show').on("click",function(){ $aside.addclass('wp-navi-aside-active'); _this.j("html").css({margintop:0}); _this.j("body").addclass('navi-aside-page').css({width:_this.client().width,height:_this.client().height}) .stop().animate({marginleft:216}, 250); _this.j(".aside-inner", $aside).addclass('aside-inner-show').stop().animate({left:0}, 250); }); this.j(".navi-aside-mask").on("click",function(event){ event.preventdefault(); _this.j("body").removeclass('navi-aside-page').stop().animate({marginleft:0}, 250,function(){ _this.j("body").removeattr('style'); $aside.removeclass('wp-navi-aside-active'); _this.j("html").removeattr('style'); }); _this.j(".aside-inner", $aside).removeclass('aside-inner-show').stop().animate({left:-216}, 250); }); /*增加*/ this.j(".menu-switch-arrow",".wp-navi-aside").each(function(){ _this.j(this).insertafter(_this.j(this).parent("a")); }); this.j(".menu-switch-arrow",".wp-navi-aside").prev().on("click",function(){ _this.j(this).toggleclass('menu-open-arrow').siblings(".sub-menu").slidetoggle(250); }); this.j(".menu-switch-arrow",".wp-navi-aside").on("click",function(){ _this.j(this).toggleclass('menu-open-arrow').siblings(".sub-menu").slidetoggle(250); }); } } this.j(".col_menu_head").on("click",function(event){ event.preventdefault(); _this.j(".col_menu_con").slidetoggle(150); }); if(this.j(".wp_column").length<1){ this.j(".column-switch").hide(); this.j(".col_menu_head").unbind("click"); } // small screen if(this.client().width<768){ // jumphandle this.j('
').appendto('body'); this.j(window).scroll(function(event) { /* act on the event */ var scrolltop = _this.j(window).scrolltop(); if(scrolltop>200){ _this.j("#jumphandle").show(); }else{ _this.j("#jumphandle").hide(); } }); this.j("#gotop").on("click",function(){ _this.j("body,html").stop().animate({scrolltop:0}, 500); }); this.j("#gobot").on("click",function(){ _this.j("body,html").stop().animate({scrolltop:_this.j(document).height()}, 500); }); } }