在为html页面创建菜单时,有很多库,框架和插件(如提到的here)。然而,在我看来,研究了各种选择
在我看来,这带来了两个问题:
所以我正在寻找菜单和内容更加分离的东西,但仍然利用现代框架(jQuery(UI),dojo,等等)的样式特征,可能基于JSON定义,可以被加载到每个单独的页面。
答案 0 :(得分:0)
除非你有一个庞大的菜单选项列表,否则结构ul
的树不会那么重。您可以将该菜单放在不同的容器上,将内容放在其他容器中,这样就不会难以管理。
另一方面,在不同的HTTP调用中部署菜单以获取JSON数据并进行渲染,可能比以前更难以管理。首先,您需要两个HTTP调用,考虑到浏览器将同时仅向同一个域发出两个HTTP调用,以获取阻止浏览器获取其他内容的菜单,或者反之亦然。您必须考虑HTTP开销,并且在html之后发布菜单查询,并且可能已经下载了JS。
恕我直言,我认为在页面代码中保留html菜单并使用CSS进行渲染会获得最佳性能。
您可以尝试自己构建它。在页面的ready事件中,使用jQuery从服务器下载json菜单数据,构建html,应用所需的样式并将其添加到页面。
答案 1 :(得分:0)
根据要求作出答复。 :)
对您的体验的评论表明,您遇到的标签控件比实际导航更多。选项卡控件旨在在同一页面上的内容之间进行切换,根据选择的选项卡隐藏和显示内容。这确实有一个缺点,你建议要求所有内容在同一页面上(或使用ajax加载它)。
相反,菜单系统通常只是一种格式化您提供的链接的方式,可能具有分层结构。通常,原始HTML中的菜单系统将是包含链接和可能的其他无序列表的无序列表。具体格式可能因使用的菜单系统而异。菜单系统将告诉您将类放在顶层或在特定元素上运行一些javascript。
在生成此服务器端方面,您最好使用包含文件或公共服务器端代码来生成菜单(以避免必须在您网站的所有页面中单独维护它们)。
说了所有我没有具体的建议,但我确实遇到了http://www.1stwebdesigner.com/css/36-eye-catching-jquery-navigation-menus/ whcih是“jquery导航菜单”的热门谷歌热门,并有很多选项可供选择。此外,您链接的问题中的一个看起来像是一个“适当的”菜单系统。