回答
它取决于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. 如何使用Vaadin菜单栏导航页面?
- 2. 移动时显示汉堡菜单其他桌面导航栏
- 3. 导航菜单栏
- 4. HTML页面总是显示菜单栏
- 5. 在liferay的不同页面上显示导航菜单?
- 6. Joomla 1.5侧栏导航菜单显示当前页面可能吗?
- 7. 导航菜单显示当前页面链接活动 - jQuery的
- 8. 在除主页外的所有页面上显示导航栏
- 9. 布尔玛导航栏在导航栏中打开下拉菜单。如何在导航栏之外打开它?
- 10. 导航菜单的菜单布局未显示在导航抽屉中
- 11. 如何在一个wordpress页面中隐藏导航菜单?
- 12. 导航div div中显示主菜单
- 13. 导航/菜单显示在幻灯片后面的Internet Explorer中
- 14. 在父引导栏上悬停时显示导航栏中的子菜单下拉菜单
- 15. 透明菜单/导航栏
- 16. 导航栏响应菜单
- 17. 在网页上显示菜单栏
- 18. 如何让导航栏突出显示您在php中的页面
- 19. 页面菜单,滚动时隐藏导航栏
- 20. 从Liferay的菜单栏导航到不同的jsp页面
- 21. CSS导航菜单栏:突出,但页面友好的颜色
- 22. 更改导航页面上的菜单栏图标
- 23. 如何在Liferay的导航菜单中隐藏的页面中隐藏导航菜单?
- 24. 引导导航栏显示
- 25. 如果当前页面在菜单中,仅显示菜单
- 26. 导航栏不显示在页面顶部。怎么了?
- 27. 导航栏不显示我的wordpress主题中的页面
- 28. 如何使导航栏滚动页面?
- 29. 如何适应导航栏到页面
- 30. 如何从页面扩展导航栏?
示例代码将有助于@EnterJQ – 2013-02-22 11:35:52
你提到“服务器端脚本”,但是唯一的标签是前端语言。你已经尝试了什么?您的主动导航菜单选项卡是否具有某种类别以区别于其他类别?你使用什么服务器端语言? – 2013-02-22 11:37:04
你可以使用javascript或jquery,但如果你能与我们分享你的代码更好。 – 2013-02-22 11:37:07