引导。在新页

时间:2016-07-13 22:29:05

标签: javascript twitter-bootstrap

我遇到了添加" active"类到我的标签。 我知道当我点击它时如何将活动类添加到选项卡。但我不知道如何在页面重新加载后在标签上保存活动类。

我的jsp代码的一部分



<div class="row top-buffer">
    <div class="col-md-10 col-md-offset-1 products">
        <ul class="nav nav-pills cat-nav">
            <c:forEach items="${catList}" var="category">
                <li role="presentation" >
                    <a href="/show-category?id=${category.id}" >${category.name}</a>
                    <ul class="dropdownn">
                        <c:forEach items="${category.childCategories}" var="childCat">
                            <li><a href="/show-category?id=${childCat.id}">${childCat.name}</a> </li>
                        </c:forEach>
                    </ul>
                </li>
            </c:forEach>
            <li role="presentation" class="pull-right"><a href="/show-category?id=0">All</a> </li>
        </ul>
    </div>
</div>
&#13;
&#13;
&#13;

添加活动类的脚本

&#13;
&#13;
$(document).ready(function () {
    $('.cat-nav li a').click(function(e) {

        $('.cat-nav li').removeClass('active');

        var $parent = $(this).parent();
        if (!$parent.hasClass('active')) {
            $parent.addClass('active');
        }
    });
});
&#13;
&#13;
&#13;

当我点击链接时,它会将我发送到另一个页面,但另一个页面没有活动的类。那么我怎样才能拯救&#34;或者&#34;持有&#34;活动课程并放入新页面。

2 个答案:

答案 0 :(得分:1)

在您的点击处理程序中,您要添加并删除“活动”&#39; <li>元素上的类。在bootstrap中,&#39; active&#39; class被应用于<a>元素。通过对代码进行小幅调整,可以实现:

$('.cat-nav li a').click(function() {
     $('.cat-nav li a').removeClass('active');
     $(this).addClass("active");
});

链接到codepen中的示例: http://codepen.io/johnwilson/pen/akVgxq

答案 1 :(得分:0)

最后我已经解决了!

&#13;
&#13;
renderer: function (value, meta) {
    meta.tdAttr = 'data-gctip="' + value + '"';
    return value;
}
&#13;
&#13;
&#13;

&#13;
&#13;
$(document).ready(function () {
    var id = getParameterByName('id');

    $('.cat-nav li[role="presentation"]').each(function() {

        var id2 = $(this).attr("id");

        if(id == id2){
            $(this).addClass('active');
        }
    });
});

function getParameterByName(name, url) {
    if (!url) url = window.location.href;
    name = name.replace(/[\[\]]/g, "\\$&");
    var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
        results = regex.exec(url);
    if (!results) return null;
    if (!results[2]) return '';

    localStorage.setItem(name, results[2].replace(/\+/g, " "));
    var result = localStorage.getItem("id");
    return result;
}
&#13;
&#13;
&#13;