读书人

还是导航变换背景有关问题

发布时间: 2013-04-20 19:43:01 作者: rapoo

还是求助导航变换背景问题
想做成这个页面的导航效果,http://download.csdn.net/ 就是点击了这个页面的 排行榜 那么新的页面排行榜上就变换,这个点击我通过cookie已经弄出来了,现在还有一个功能就是 输入网址直接打开对应的导航也变换,比如地址栏直接打开http://download.csdn.net/rankings 这个网址,它的排行榜 这个菜单上也和其它不一样,是根据网址来分析吗?这个是不是通过js来完成的,求助怎么做的?
[解决办法]
获取当前的url路径location.pathname,然后和导航中的链接匹配,匹配了就设置焦点样式

建立1.html,2.html,3.html,4.html文件,内容全部为下面的


<div id="dvGuider">
<a href="1.html">1.html</a>
<a href="2.html">2.html</a>
<a href="3.html">3.html</a>
<a href="4.html">4.html</a>
</div>
<style>
a.focus{background:#ff0000;color:#ffffff;}
</style>
<script>
var pn = location.pathname;
var as = document.getElementById('dvGuider').getElementsByTagName('a');
for (var i = 0, j = as.length; i < j; i++)
if (as[i].href.indexOf(pn) != -1) {as[i].className = 'focus';break;}
</script>

[解决办法]
这个是很简单的,定义一个变量
放在导航那里
不是用cookie等做的啦
比如
<a href='index.asp' <%=indexon%>>首页</a>
<a href='down.asp' <%=downon%>>下载</a>
<a href='paihang.asp' <%=paihon%>>排行</a>
在index.asp,down.asp,paihang.asp,分别定义上面三个变量的值,为空的就不调用了
比如indexon=" class=""on"""
[解决办法]
是否想这样的效果,可以运行下看效果.


<!doctype>
<html>
<head>
<meta charset="utf-8">
<style type="text/css">
a.mouseOver {
background-color: red;
}
</style>
<script type="text/javascript">
window.onload = function(){
var lis = document.getElementById("links").getElementsByTagName("li");

for (var i = lis.length - 1; i >= 0; i--) {
var aE = lis[i].getElementsByTagName("a")[0];
aE.addEventListener("mouseover", changeBackgroud);
aE.addEventListener("mouseout", changeBackgroud);
}
}



function changeBackgroud(e){
if (e.type === 'mouseover') {
e.target.className = "mouseOver";
}
else {
e.target.className = "";
}
}
</script>
</head>
<body>
<ul id="links">
<li>
<a href="page1.html">1</a>
</li>
<li>
<a href="page2.html">2</a>
</li>
<li>
<a href="page3.html">3</a>
</li>
<li>
<a href="page4.html">4</a>
</li>
</ul>
</body>
</html>


[解决办法]
html
<div id="dvGuider">
<a href="Untitled-49.html">1.html</a>
<a href="Untitled-50.html">2.html</a>
<a href="Untitled-51.html">3.html</a>
<a href="Untitled-52.html">4.html</a>
</div>
<script>
var as = document.getElementById('dvGuider').getElementsByTagName('a');
document.getElementById('dvGuider').onclick = function(e) {
var e = e
[解决办法]
window.event;
var current = e.target
[解决办法]
e.srcElement;
for(var i=0; i<as.length; i++) {
as[i].className = '';
}
current.className = 'focus';
}

</script>
css
a.focus{background:#ff0000;color:#ffffff;}

读书人网 >JavaScript

热点推荐