首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

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

2013-04-20 
还是求助导航变换背景问题想做成这个页面的导航效果,http://download.csdn.net/ 就是点击了这个页面的 排

还是求助导航变换背景问题
想做成这个页面的导航效果,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;}

热点排行