// wp_nav:瀵艰埅 ; (function($) { $.fn.sudynav = function() { var defaults = { vertical: { active: '0', col: '1' }, // 涓昏彍鍗曟槸鍚︾旱鍚?,active 0鍚? 1鏄? col,涓昏彍鍗曞垪鏁? drop_v: 'down', // 璁剧疆瀛愯彍鍗曞瀭鐩村脊鍑烘柟鍚戯紝鍚戜笂鎴栧悜涓?,up or down drop_w: 'right', dir: "y", // 璁剧疆瀛愯彍鍗曟爮鐩帓鍒楁柟鍚戯紝x 涓烘í鍚戯紝y涓虹旱鍚? dwidth: '0', // 璁剧疆瀛愯彍鍗曚綅缃槸鍚︿互椤甸潰瀹藉害鍙傜収锛屽惁鍒欎互涓昏彍鍗曞鍣ㄥ搴?(褰揹ir璁剧疆涓簒鏃舵湁鏁堬紝鍗冲瀛愯彍鍗曟í鍚戞湁鏁?) opacity_main: '1', opacity_sub: '1' }; return this.each(function() { var option = {}; eval('option = '+($(this).attr("data-nav-config")||{})+';'); var o = $.extend(true, {}, defaults, option); var c = $(this); var cw = (o.dwidth == '0') ? c.width() : $(document.body).width(); var l = c.find(".nav-item"); var u = c.find("ul"); var su = u.find("ul"); var cl = c.children('.nav-item'); var cu = c.children('.nav-item').children('ul'); var isie6 = !-[1, ] && !window.xmlhttprequest; if (o.vertical.active == '1') { c.css({height: 'auto'}).children('.nav-item').css({display: "block", width: (100 / o.vertical.col) + '%', float: 'none'}).children('a').css({display: "block", width: "auto"}); if (o.vertical.col !== '1') { c.children(".nav-item").css({display: "inline-block", float: 'left'}); } if (o.drop_v == 'up') { u.css({bottom: '0px'}); } else { u.css({top: '0px'}); } if (o.drop_w == 'left') { u.css({right: "100%"}); } else { u.css({left: '100%'}); } } else { if (o.drop_v == 'up') { su.css({bottom: '0px'}); } else { su.css({top: '0px'}); } if (o.drop_w == 'left') { su.css({right: "100%"}); } else { su.css({left: '100%'}); } } function setopacity(e, a, w, h) { var mark = e.children('i'); if(a!=='-1'&&a!==-1)mark.css({opacity: a}); if (isie6) { mark.css({width: w + 'px', height: h + 'px'}); } } $.each(cl, function() { var clw = $(this).width(); var clh = $(this).height(); setopacity($(this), o.opacity_main, clw, clh); }); $.each(u, function() { var sl = $(this).children(".nav-item"), suw = 0, suh = 0, sw = 0, sh = 0; $.each(sl, function() { var slw = $(this).outerwidth(), slh = $(this).outerheight(); suw = suw < slw ? slw : suw; suh += slh; sw += slw; sh = sh < slh ? slh : sh; setopacity($(this), o.opacity_sub, slw, slh); }); if (o.dir == 'x') { var px = $(this).parent('.nav-item').offset().left + sw; var cx = (o.dwidth == '0') ? (c.offset().left + cw) : cw; var dx = cx - px; var left = dx < 0 ? dx : 0; $(this).css({width: sw + 'px', height: sh + 'px', left: left + 'px'}); var ph = $(this).parent('.nav-item').outerheight(); if (o.drop_v == 'up') { $(this).css({bottom: ph + 'px'}); } else { $(this).css({top: ph + 'px'}); } } else { $(this).css({width: suw + 'px', height: suh + 'px'}); sl.css({display: "block", width: "100%"}).children('a').css({display: "block", width: "auto"}); setopacity(sl, o.opacity_sub, suw, sh); } }); if (o.dir !== 'x' && o.vertical.active !== '1') { $.each(cu, function() { var ph = $(this).parent('.nav-item').outerheight(); if (o.drop_v == 'up') { $(this).css({bottom: ph + 'px'}); } else { $(this).css({top: ph + 'px'}); } if (o.drop_w == 'left') { $(this).css({right: "0"}); } else { $(this).css({left: '0'}); } }); } l.hover(function() { $(this).addclass("on").siblings().removeclass("on"); $(this).children('a').addclass('parent'); $(this).children("ul").css("visibility", "visible").end().siblings().find("ul").css("visibility", "hidden"); }, function() { $(this).removeclass("on"); $(this).children('a').removeclass('parent'); $(this).find("ul").css("visibility", "hidden"); }); }); }; })(jquery); $(function() { $(".wp_nav").sudynav(); });