回答
它取決於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