单击bootstrap 3时折叠菜单导航保持打开状态

时间:2013-12-10 18:23:43

标签: twitter-bootstrap menu collapse nav

我有这个工作:http://jsfiddle.net/JpJqD/2/

但是我想这样做:

例如:如果单击其中一个链接“创建用户”并且它位于我站点中的某个页面上,则菜单或导航会自动折叠。如何设置主标题“用户”保持打开,不崩溃?请帮忙。谢谢

<div class="panel panel-default">
    <div class="panel-heading">
        <h3>Navigation</h3>
    </div>

    <div id="sidebar" class="list-group"> 

        <a href="#" class="list-group-item active">
            <i class="icon-dashboard"></i> Dashboard
        </a>

        <a href="#users" class="list-group-item"  data-parent="#sidebar">
            <i class="icon-group"></i> Users
            <span class="badge bg_danger">0</span>
        </a>

        <div id="users" class="list-group subitem collapse">    

            <a href="#" class="list-group-item">
                <i class="icon-caret-right"></i> Users
                <span class="badge bg_danger">0</span>
            </a>

            <a href="#" class="list-group-item">
                <i class="icon-caret-right"></i> Create User
            </a>

            <a href="#" class="list-group-item">
                <i class="icon-caret-right"></i> Create Group
            </a>

        </div>  

        <a href="#articles" class="list-group-item"  data-parent="#sidebar">
            <i class="icon-file-text"></i> Articles
            <span class="badge bg_danger">0</span>
        </a>

        <div id="articles" class="list-group subitem collapse"> 

            <a href="#" class="list-group-item bg_warning">
                <i class="icon-caret-right"></i> Articles
                <span class="badge bg_danger">0</span>
            </a>

            <a href="#" class="list-group-item">
                <i class="icon-caret-right"></i> Create Article
            </a>

        </div>

    </div>
</div>

$('#sidebar > a').on('click', function (e) {
    e.preventDefault();

    if(!$(this).hasClass("active")){
        var lastActive = $(this).closest("#sidebar").children(".active");
        lastActive.removeClass("active");
        lastActive.next('div').collapse('hide');
        $(this).addClass("active");
        $(this).next('div').collapse('show');
    }
});

1 个答案:

答案 0 :(得分:1)

我认为您需要做的是将父div的ID添加到链接的末尾。 例如url?link='users'

然后你可以从网址中获取链接值。以下链接演示了如何完成此操作 How can I get query string values in JavaScript?

然后,一旦从网址中获取值,您就可以在页面加载时触发点击。

var link = 'users'; // or the value grabbed from the url
$('a[href="#'+link+'"').trigger('click');

实施例

http://jsfiddle.net/trevordowdle/JpJqD/76/