在<a href=""> using javascript</a>上申请课程

时间:2010-10-26 18:33:11

标签: javascript

我正在使用php。创建一个leftcolumn.php文件,其中包含以下代码..

<!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>

现在,我只想申请background ='#f0f7fa'&amp; color ='#c66653'(在活动标签上)当用户点击标签时,为此我创建了一个功能,但它不适用更改.....!

请帮助解决它......

感谢.....

3 个答案:

答案 0 :(得分:1)

当你点击每个标签时,它显然会重新加载页面,所以javascript不是这里的解决方案。我通常做的是在每个页面都有的body标签中添加一个id。因此,对于仪表板页面,正文标记将是。然后在你的css样式表中你可以做到:

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

在每个标签上,您将拥有相应的班级名称。

答案 1 :(得分: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;
}

答案 2 :(得分:0)

正如FutureCode和Georgi指出的那样,你的JS代码正在运行,但随后会加载一个不同的页面。因此,你没有看到效果 你可以使用FutureCode建议的方法,或者你也可以调用你的JS函数onLoad body标签。

在cms.php中:

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

在menus.php中:

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