我正在使用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'(在活动标签上)当用户点击标签时,为此我创建了一个功能,但它不适用更改.....!
请帮助解决它......
感谢.....
答案 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');">