回答
它取决于NDS如何组织你的逻辑...例如,如果你有前端控制器,你会得到应由GET
参数(page
)来显示当前页面,您可以:
PHP
$current = $_GET['page'];
print '<ul class="menu">';
while ($page = $pages->getNext()) {
$label = $page->getLabel();
if ($page->getName() === $current) {
print '<li class="menu-item selected">' . $label . '</li>';
} else {
print '<li class="menu-item">' . $label . '</li>';
}
}
print '</ul>';
由于您会在脚本中看到我们打印不同类型的列表项,具体取决于它是否是当前页面。如果这是当前页面,我们的列表项目有类selected
和menu-item
,否则它只是一个菜单项。
如果你想要做的,从前端同样的事情,你可以用下面的办法:
的JavaScript
var menuItems = {
'info': {
'label': 'Info',
'id': 'info-item'
},
'home': {
'label': 'Home',
'id': 'home-item'
}
};
//...
function getCurrentPage() {
var str = window.location.search.replace('?', ''),
params = str.split('&');
for (var i = 0; i < params.length; i += 1) {
var current = params[i].split('=');
if (current[0] === 'page') {
return current[1];
}
}
return undefined;
}
//...
var page = getCurrentPage();
clearCurrentPage();
setCurrentPage(page);
//...
function setCurrentPage(page) {
var item = pages[page];
document.getElementById(item.id).className += ' selected';
}
function clearCurrentPage() {
var selected = document.getElementsByClassName('selected');
for (var i = 0; i < selected.length; i += 1) {
selected[i].className = selected[i].className.replace(' selected', '');
}
}
我知道我可以做到这一点。但是,我能从前端做到吗? – 2013-02-22 11:43:21
是的,我会再添加一个例子。我不明白你的问题... – 2013-02-22 11:44:03
我添加了一个示例代码,它将做同样的事情,但JavaScript。 – 2013-02-22 11:50:00
从你说的,你的网站是由3个页面组成的:index.html,about.html,contact.html 和你在所有3页上常用的导航是Home About Contact,菜单看起来像:
<ul>
<li><a href="index.html">Home</a></li>
<li><a href="about.html">About</a></li>
<li><a href="contact.html">Contact</a></li>
</ul>
index.html中你应该添加在第一个链接类=“活动”,在about.html关于链接上添加类=“活动”等
然后在你的CSS
然后文件define ul li a.active {background:yellow}
我创建一个静态的网站。我想要显示当前标签页用户正在以不同颜色(其他正常导航菜单选项卡)查看。
充分利用li
表示标签类(例如class="tab current-page"
)的成员。然后改变风格。
如何使用任何服务器端脚本执行此操作?
- 编辑HTML手动
- 使用预处理
- 就做客户端用JS是比较
location.href
到可能的页面生成HTML
- 1. 如何显示导航栏下方显示的主页面菜单内容?
- 2. 如何使用Vaadin菜单栏导航页面?
- 3. 如何在导航菜单栏的下拉菜单中显示图像
- 4. 导航菜单栏
- 5. HTML页面总是显示菜单栏
- 6. 在liferay的不同页面上显示导航菜单?
- 7. 在导航栏中显示敏感菜单内的div
- 8. Joomla 1.5侧栏导航菜单显示当前页面可能吗?
- 9. 如何使用设计导航到用户显示页面?
- 10. 菜单导航栏更改突出显示的颜色并保持在用户访问同一页面时
- 11. 如何显示菜单/子菜单页面的页面标题?
- 12. 在除主页外的所有页面上显示导航栏
- 13. 导航菜单显示当前页面链接活动 - jQuery的
- 14. 导航菜单突出显示活动页面?
- 15. 标记在导航栏中显示当前页面
- 16. 导航菜单不显示导航菜单中的子网站下的页面SharePoint 2010
- 17. 布尔玛导航栏在导航栏中打开下拉菜单。如何在导航栏之外打开它?
- 18. 如何在导航栏中动态突出显示当前页面,比如Stackoverflow
- 19. ZF2导航:如何仅在面包屑导航中显示一些页面
- 20. 下拉菜单不显示在导航栏(div)
- 21. 汉堡菜单不显示在响应式导航栏
- 22. 导航菜单的菜单布局未显示在导航抽屉中
- 23. 如何在一个wordpress页面中隐藏导航菜单?
- 24. 导航div div中显示主菜单
- 25. 导航/菜单显示在幻灯片后面的Internet Explorer中
- 26. 在父引导栏上悬停时显示导航栏中的子菜单下拉菜单
- 27. 侧栏导航菜单
- 28. 导航栏响应菜单
- 29. 导航栏淡出菜单
- 30. 透明菜单/导航栏
示例代码将有助于@EnterJQ – 2013-02-22 11:35:52
你提到“服务器端脚本”,但是唯一的标签是前端语言。你已经尝试了什么?您的主动导航菜单选项卡是否具有某种类别以区别于其他类别?你使用什么服务器端语言? – 2013-02-22 11:37:04
你可以使用javascript或jquery,但如果你能与我们分享你的代码更好。 – 2013-02-22 11:37:07