樣本網站(點擊下載)
/Files/zuroc/用Dreamweaver的模板,PHP和JavaScript實現自動設定當前被選菜單.zip
用CSS實現的網頁菜單往往要用id來區分當前被選菜單來顯示不同的效果,比如:
<div id="header"><ul>
<li id="current"><a href="xx1.php">首頁</a></li>
<li><a href="xx2.php">下載</a></li>
<li><a href="xx3.php">新聞</a></li>
<li><a href="xx4.php">體育</a></li>
</ul></div>
這樣一來,我們不得不在每一個網頁中加入這段代碼,並修改id="current"的項,更不幸的是,如果我們要增加一個連結又必須在每個網頁修改這段代碼,這樣就大大地增加了維護的複雜度.
我們可以用PHP和JavaScript實現自動設定當前被選菜單,和單點維護,並利用Dreamweaver的模板來大大的提高工作效率.
JavaScript代碼如下
function header(link_file)
{
var href=new Array();var list=new Array();
list[0]="首頁";href[0]="index";
list[1]="捐贈";href[1]="donate";
list[2]="下載";href[2]="down";
list[3]="計劃";href[3]="dev_map";
list[4]="成員";href[4]="about_us";
list[5]="加入我們";href[5]="join_us";
list[6]="連結";href[6]="friend_link";
list[7]="裡程碑";href[7]="milestone";
list[8]="文檔";href[8]="doc";
list[9]="其他";href[9]="outside_soft";
document.write("<div id=\"header\"><ul>");
for(var a=0;a<list.length;++a){
var link=".php\">"+list[a]+"</a></li>";
if(href[a]!=link_file){document.write("<li><a href=\""+href[a]+link);}
else{document.write("<li id=\"current\"><a href=\""+href[a]+link);}
}
document.write("</ul></div>");}
模板如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh"><!-- InstanceBegin template="/Templates/頂層模版.dwt.php" codeOutsideHTMLIsLocked="false" -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>!AK747-享受英語</title>
<script language="JavaScript" src="../js/header.php"></script>
<link rel="stylesheet" type="text/css" href="../css/header.css">
</head>
<body>
<script language="JavaScript">
header("<?php
echo basename ($_SERVER['PHP_SELF'],".php"); //當前檔案
?>");
</script>
<!-- InstanceBeginEditable name="edit" -->
<div id="header">
<ul>
<li id="current"><a href="?choose=learn_wxWidgets">學習wxWidgets</a></li>
<li><a href="?choose=learn_cpp">學習C++</a></li>
</ul>
</div>
<?php
include './php_content/doc.php';
?>
<!-- InstanceEndEditable -->
</body>
<!-- InstanceEnd --></html>
樣本網站見附件
作者:張沈鵬
Email:zsp747@gmail.com