<div class="navigation">
<div class="shuxindefault"><a href="/index.aspx" name="topurl"><span>首页</span></a></div><div class="shuxindefault"><a href="/category.aspx?id=2" name="topurl"><span>月饼专区</span></a></div>
<div class="shuxindefault"><a href="/category.aspx?id=184" name="topurl"><span>休闲食品区</span></a></div>
<div class="shuxindefault"><a href="/category.aspx?id=194" name="topurl"><span>巧克力专区</span></a></div>
<div class="shuxindefault"><a href="/category.aspx?id=198" name="topurl"><span>品牌专区</span></a></div>
<div class="shuxindefault"><a href="/category.aspx?id=112" name="topurl"><span>特价专区</span></a></div><div class="shuxindefault"><a href="/brandindex.aspx" name="topurl"><span>品牌</span></a></div>
<script language="javascript">
function showmenu(){
    var url = document.URL;
    
    var urls = document.getElementsByName("topurl");
    for(var i=0;i<urls.length;i++){
        if(urls[i] == url){
            urls[i].parentNode.className = 'shuxinselect';
return;
        }
    }

urls[0].parentNode.className = 'shuxinselect';
}showmenu();这是导栏条的,连接到其它页面过后,导航条相应的背景图片未发生变化,请问这是怎么回事呢?是不是JS代码有问题?
我想要的效果是点到导航条相应的页面,然后该页面的导航文字背景发生变化,如果用CSS来实现我会,那样太繁杂了。

解决方案 »

  1.   

    <script language="javascript">
        var url=document.URL;
        var a=document.getElementsByName("topurl");
        for(var i=1;i<a.length;i++){
            //urls[0].parentNode.className = 'shuxinselect'; 发觉你并不想要第一个参与判断。如果需要就改为 var i=0
            if(a[i].href==url){
                alert(i);
                a[i].parentNode.className="shuxinselect";
                break;
            }
        }
    </script>