2010-10-26 43 views
0

我正在使用php。創建一個文件leftcolumn.php包括下列代碼..使用javascript在<a href>上應用課程

<!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"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
<script language="javascript"> 
    function setClass(tabName){ 
     document.getElementById(tabName).style.background = '#f0f7fa'; 
     document.getElementById(tabName).style.color = '#c66653'; 
    } 
</script> 
</head> 

<body> 
<div id="sidebar"> 
    <img src="images/logo.png" /> 
    <ul class="sideNav"> 
     <!-- Use class="active" for selected tab --> 
     <li><a id="dashboard" href="cms.php" onclick="setClass('dashboard');">Dashboard</a></li> 
     <li><a id="mainMenu" href="menus.php">Main Menus</a></li> 
     <li><a id="retailers" href="#">Retailers</a></li> 
     <li><a id="productimages" href="productimages.php">Product Images</a></li> 
     <li><a id="pressreleases" href="pressreleases.php">Press Releases</a></li> 
     <li><a id="news" href="news.php">In the News</a></li> 
    </ul> 
    <!-- // .sideNav --> 
    <br /><br /><br /><br /><br /><br /><br /><br /><br /><br /> 
</div> 
</body> 
</html> 

現在,我只是想申請的背景=「#f0f7fa」 &顏色=「#c66653」(有源標籤)選項卡上,當用戶點擊,爲此我創建了一個函數,但它不適用變化.....!

請幫助解決這個問題....

感謝.....

回答

1

那麼,你的代碼實際上工作,但不能看到它,因爲重定向到cms.php。如果你想這樣做的另一種方式

<li><a id="dashboard" href="#" onclick="setClass('dashboard');">Dashboard</a></li> 

,嘗試這樣的事情:試試這個

<li><a id="dashboard" href="cms.php" <?php if ($page == 'cms.php') ?>class="active"<?php } ?>>Dashboard</a></li> 

,並在標題定義樣式

.active { 
    background-color:#f0f7fa; 
    color: #c66653; 
} 
+0

謝謝,它確實有效,我也爲你的描述留下了深刻的印象,我只是添加一些代碼來獲得當前頁面並添加你的腳本。<?php \t //從當前url獲取文件名。 \t $ file = $ _SERVER [「SCRIPT_NAME」]; \t $ break = Explode('/',$ file); \t $ page = $ break [count($ break) - 1]; ?> – 2010-10-26 18:59:25

1

當你點擊每個選項卡很明顯是要重新加載頁面,那麼JavaScript是不是這裏的解決方案。我通常做的是爲每個頁面獨有的body標籤添加一個id。所以對於儀表板頁面的身體標籤將是。然後在你的css樣式表中,你可以這樣做:

#dashboard .dashboard { 
background-color:#f0f7fa; 
color:#c66653; 
} 

在每個選項卡上,你都會有相應的類名。

+0

+1保持風格的CSS,在造型*應*完成。保持JavaScript不在其中。 – 2010-10-26 19:52:50

0

由於FutureCode和格奧爾基有指出,你的JS代碼正在工作,但不同的頁面正在加載。因此你沒有看到效果。
您可以使用FutureCode建議的方法,或者您可以調用您的JS函數onLoad body標籤。

在cms.php:

<body onload="setClass('dashboard');"> 

在menus.php:

<body onload="setClass('mainMenu');"> 
相關問題