diff --git a/common/common.js b/common/common.js index a1b1622..c13f444 100644 --- a/common/common.js +++ b/common/common.js @@ -222,6 +222,104 @@ $(function () { }, }); }; + // 根据插件配置重绘顶部导航(header_nav) + const renderHeaderNav = (commentObj) => { + var navData = commentObj && commentObj.header_nav; + if (!Array.isArray(navData) || navData.length === 0) { + return; + } + + // 更新 Logo 点击链接 + var home = navData[0] || {}; + if (home.file_address) { + $(".nav-icon a").attr("href", home.file_address); + } + + var $menu = $(".nav-menu"); + var $navContSection = $(".nav-cont .section-content"); + if (!$menu.length || !$navContSection.length) { + return; + } + + // 顶部一级导航 + $menu.empty(); + for (var i = 1; i < navData.length; i++) { + var item = navData[i] || {}; + var name = item.name || ""; + var file = item.file_address || ""; + var blank = Number(item.blank) === 1; + + if (!name) { + continue; + } + + if (file) { + var $a = $("") + .attr("href", file) + .attr("target", blank ? "_blank" : "_self"); + $a.append($("
").addClass("nav-item").text(name)); + $menu.append($a); + } else { + $menu.append($("
").addClass("nav-item").text(name)); + } + } + + // 下拉菜单 + $navContSection.empty(); + for (var j = 1; j < navData.length; j++) { + var parent = navData[j] || {}; + var children = Array.isArray(parent.children) ? parent.children : []; + if (!children.length) { + $navContSection.append( + $("
").addClass("nav-cont-menu nav-cont-empty") + ); + continue; + } + + var $menuWrap = $("
").addClass( + "nav-cont-menu animated slideInDown" + ); + var $content = $("
").addClass("nav-content"); + children.forEach(function (child) { + if (!child) return; + var cname = child.name || ""; + var curl = child.file_address || ""; + var cblank = Number(child.blank) === 1; + var cicon = child.icon || ""; + var cdesc = child.description || ""; + + if (!cname && !curl) return; + + var $link = $(""); + if (curl) { + $link.attr("href", curl).attr("target", cblank ? "_blank" : "_self"); + } else { + $link.attr("href", "javascript:;"); + } + + var $box = $("
").addClass("nav-item-box"); + if (cicon) { + $box.append($("").attr("src", cicon).attr("alt", "")); + } + var $titleWrap = $("
").addClass("item-box-title"); + $titleWrap.append($("
").addClass("title").text(cname)); + $titleWrap.append($("
").addClass("desc").text(cdesc)); + $box.append($titleWrap); + + $link.append($box); + $content.append($link); + }); + + $menuWrap.append($content); + $navContSection.append($menuWrap); + } + + // 重绑 hover 事件,避免新节点没有事件 + $(".nav-menu .nav-item").off("mouseenter mouseleave"); + $(".nav-cont").off("mouseenter mouseleave"); + initHeader(); + }; + // 设置通用信息函数 const setCommData = () => { const commentObj = JSON.parse(sessionStorage.commentData); @@ -263,13 +361,16 @@ $(function () { }); - $(".buy-cloud").click(function () { - location.href = commentObj.cloud_product_link; - }); - $(".buy-dcim-btn").click(function () { - location.href = commentObj.dcim_product_link; - }); - }; + $(".buy-cloud").click(function () { + location.href = commentObj.cloud_product_link; + }); + $(".buy-dcim-btn").click(function () { + location.href = commentObj.dcim_product_link; + }); + + // 顶部导航改用插件 header_nav + renderHeaderNav(commentObj); + }; $(".line-server-btn").click(function () { const commentObj = sessionStorage.commentData ? JSON.parse(sessionStorage.commentData) diff --git a/index.html b/index.html index ada3dc9..aca86d7 100644 --- a/index.html +++ b/index.html @@ -11,48 +11,13 @@
{include file="public/header"}
- -