你有兩種選擇,你可以使用PHP和CSS,這樣比較好,因爲這是客戶端獨立的。 第二個選項是使用JavaScript和CSS
PHP & CSS
我更喜歡這種方式! 如果當前頁面等於每個菜單鏈接,則需要檢查每個站點。以下是我的解決方案的一些片段。它適用於我的網站。 我不知道它是否以你的方式進行連接:index.php/home
。認爲你必須適應它。因爲我使用像home.php真正的文件和blog.php的
這是menu.php,我把它給到每一個網站:
<div id="menu">
<div class="innertube">
<ul>
<?
markIfCurrent("Willkommen", "willkommen");
markIfCurrent("Salzgrotte", "salzgrotte-am-fehn");
markIfCurrent("Heilwirkung", "heilwirkung-des-salzes");
markIfCurrent("Farbtherapie", "farblichttherapie");
markIfCurrent("Salzshop", "salzshop");
markIfCurrent("Erfahrungs-<br/>berichte", "erfahrungsberichte");
markIfCurrent("Fragen und Antworten", "fragen-und-antworten");
markIfCurrent("Preise", "preise");
markIfCurrent("Galerie", "galerie");
markIfCurrent("Presse", "presse");
markIfCurrent("Praxis", "praxis");
markIfCurrent("Anfahrt", "anfahrt");
?>
</ul>
</div>
</div>
現在的PHP函數:
/* filter selected menu items */
function markIfCurrent ($name, $link) {
$should_mark = isCurrent($link);
if ($should_mark) {
$first = strtoupper(substr($name, 0, 1));
$rest = substr($name, 1);
echo "<li><span class='current'>".$name."</span></li>\n";
} else {
echo "<li><a class='lower' href='".$link."'>".$name."</a></li>\n";
}
}
/* check if $pageis current page */
function isCurrent ($page) {
/* reverse mapping */
if ($page == "willkommen") {
$page = "index";
}
$isCurrent = $page.".php" == getCurrentPage();
return $isCurrent;
}
function getCurrentPage() {
$path = $_SERVER['PHP_SELF'];
$a = explode("/", $path);
$site_name = $a[sizeof($a)-1];
return $site_name;
}
至少CSS:
li span.current a {
background-color: black; /* or #000000 */
}
li span a {
background-color: gray; /* or #cccccc*/
}
的JavaScript & CSS
這是更pseude代碼,但它的PHP版本
在這種情況下,同樣的邏輯也需要window.location.pathname
你得到的網址/路徑名來檢查當前的URL 。分割斜線並提取文件。 然後你可以遍歷你的導航元素與jQuery像$("#navigation").find("a")
,然後你可以設置一個元素的css風格a.css("background-color", "black")
嘿謝謝你的答案與步驟的解釋! 我已經創建了基於此的CSS,但是,當我在另一個鏈接(可以說,投資組合),背景沒有改變。所有鏈接都保持灰色。 – bn60
@ user1433571您可以在[jsFiddle](http://jsfiddle.net/)等網站上發佈您的代碼嗎?這樣我們可以看到你的代碼是什麼樣的。 – 2012-06-04 23:42:40
這是你想要的代碼嗎? http://jsfiddle.net/QHMSa/11/ 順便說一句,任何想法如何設置'家'上面的框也是黑暗的? – bn60