一些人目前正在为一个项目构建一个小界面,我被困在一个点上。目前我有一个setPage()
将.current
类设置为活动链接的函数。
但是...我想更改可见性 a<p>
以便它在当前页面时变为活动状态。
默认情况下<p>
隐藏在 CSS 中。
这是HTML(顺便说一句,索引:1,2,3,4 ...仅用于测试)
<script type="text/javascript" src="activemenu.js"></script>
</head>
<html>
<body>
<div id="menu">
<ul>
<li><a href="index.html">List Item 1<p>1042</p></a></li>
<li><a href="index2.html">List Item 2<p>1042</p></a></li>
<li><a href="index3.html">List Item 3<p>1042</p></a></li>
<li><a href="index4.html">List Item 4<p>1042</p></a></li>
</ul>
<script language="javascript">setPage()</script>
<div id="newalbumtxt"><a href="#">Create new album</a></div>
</div>
</body>
</html>
这是setPage()
功能
function extractPageName(hrefString)
{
var arr = hrefString.split('/');
return (arr.length < 2) ? hrefString : arr[arr.length-2].toLowerCase() + arr[arr.length-1].toLowerCase();
}
function setActiveMenu(arr, crtPage)
{
for (var i=0; i < arr.length; i++)
{
if(extractPageName(arr[i].href) == crtPage)
{
if (arr[i].parentNode.tagName != "DIV")
{
arr[i].className = "current";
arr[i].parentNode.className = "current";
}
}
}
}
function setActiveNbImg(arr, crtPage)
{
for (var i=0; i < arr.length; i++)
{
if(extractPageName(arr[i].href) == crtPage)
{
if (arr[i].parentNode.tagName != "DIV")
{
arr[i].className = "current";
arr[i].parentNode.className = "current";
}
}
}
}
function setPage()
{
hrefString = document.location.href ? document.location.href : document.location;
if (document.getElementById("menu") !=null )
setActiveMenu(document.getElementById("menu").getElementsByTagName("a"), extractPageName(hrefString));
}
function setNbImg()
{
hrefString = document.location.href ? document.location.href : document.location;
if (document.getElementById("menu") !=null )
setActiveNbImg(document.getElementById("menu").getElementsByTagName("p"), extractPageName(hrefString));
}