0

我的应用程序的每个页面上都加载了以下脚本:

           $(document).ready(function() { 
          $('ul li').click(function(){
            $("li").removeClass("current_page_item");
            $(this).addClass("current_page_item");
          });
        });

我的导航 html 看起来像:

                <ul id="dropmenu">
                    <li class="active">
                        <%=  link_to 'Home Page',  welcome_index_path %>                    
                    </li>
                    <li>
                        <%=  link_to 'Business Owners',  business_owners_path %>

                    </li>
                </ul>

每次我单击“企业主”链接时,识别活动页面的图像首先从主页链接移动到企业主链接,然后在页面重新加载时再次快速恢复到主页链接。jQuery中有没有办法在页面加载后保持“活动”链接的状态?

4

1 回答 1

1

如果没有更多信息,我相信您可能会以错误的方式解决这个问题。您是否尝试使用深度链接来显示/加载额外内容?如果是这样,您的页面不应该重新加载。您可以使用 jquery 地址来完成此操作。http://www.asual.com/jquery/address/

如果您的页面实际上链接到一个单独的页面,那么这可以通过 CSS 来完成。一种解决方案是为 body 设置一个类,以正确设置活动导航的样式。

HTML

<body class="business">

    <ul id="dropmenu">
        <li class="nav-home"><a href="#">Home</a></li>
        <li class="nav-business"><a href="#">Business</a></li>
    </ul>

</body>



CSS

#dropmenu a {
    display:block;
}
#dropmenu a:hover {
    border:1px solid #ccc;
}

* active */
.business .nav-business {
    border:1px solid #000;
}

相关小提琴:http: //jsfiddle.net/tNpVr/

于 2013-03-10T02:54:04.707 回答