日期:2014-05-16  浏览次数:20354 次

showbo版主,我的那个导航,分页没效果
本帖最后由 lao2nb 于 2012-11-23 15:11:14 编辑
<ul class="nav" id="nav">
<li class="home"><a href="xx.html">首页</a></li>
<li class="f1"><a href="xx.html?tag=f1">分类1</a></li>
<li class="f2"><a href="xx.html?tag=f2">分类2</a></li>
<li class="f3"><a href="xx.html?tag=f3">分类3</a></li>
<li class="f4"><a href="xx.html?tag=f4">分类4</a></li>
</ul>
<script>
    var search = location.search//////////
    var as = document.getElementById('nav').getElementsByTagName('a');
    if (search != '') {
        for (var i = 0; i < as.length; i++)
            if (as[i].href.indexOf(search) != -1) {//连接包含当前页面名称则设置获得焦点
                as[i].className = 'focus'; break;
            }
    }
    else as[0].className = 'focus'; //没有参数怎默认首页
</script>


说简单点,就是分页没效果

比如说:

http://localhost/是首页(有效果)

http://localhost/?page=2是首页的第二页(没效果)

http://localhost/?tag=f1 分类1(有效果)

http://localhost/?tag=f1&page=2 分类1的第二页(没效果)

首页的分页后面加  ?page=数字
分类的分页后面加  &page=数字

有什么方法吗? 没有也无所谓
------解决方案--------------------
修改下,不用判断as的。。忘记删除了
    var search = /tag=[^&]+/i.exec(location.search);
    if (search) search = search[0];
    var as = document.getElementById('nav').getElementsByTagName('a');
    if (search) {
        for (var i = 0; i < as.length; i++)
            if (as[i].href.indexOf(search) != -1) {//连接包含当前页面名称则设置获得焦点
                as[i].className = 'focus'; break;
            }

    }
    else as[0].className = 'focus';  //没有参数怎默认首页