Jquery Cookie通过模式显示/隐藏菜单

时间:2014-08-29 16:24:58

标签: javascript jquery html css cookies

我正在尝试设置2个不同的导航菜单,并且第一次访问者(网站范围内)我希望他们首先显示模态,他们必须选择(强制)他们应该选择哪个版本然后相应的导航将是显示在页面上 - 但这必须通过cookie记住,并应在30天内到期。根据他们在模态表单上点击的内容,只会显示一个版本的导航菜单。

代码示例:

<div id="menu-A">
    <ul>
       <li><a href="#">Item</a></li>
       <li><a href="#">Item</a></li>
       <li><a href="#">Item</a></li>
    </ul>
</div>

<div id="menu-B">
    <ul>
       <li><a href="#">Item</a></li>
       <li><a href="#">Item</a></li>
       <li><a href="#">Item</a></li>
       </ul>
    </div>


        <!-- modal -->
        <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
            <div class="modal-dialog">
                <div class="modal-content">
                    <div class="modal-header">
                        <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button>
                        <h4 class="modal-title" id="myModalLabel">Choose Your Setting - Split Nav</h4>
                    </div>
                    <div class="modal-body">
                        <div class="btn-group">
                            <button class="btn btn-primary btn-large btn-navA">Menu A</button>
                            <button class="btn btn-success btn-large btn-navB">Menu B</button>
                        </div>
                    </div>
                    <div class="modal-footer remove-top">
                        <button type="button" class="btn btn-primary">Save Settings</button>
                    </div>
                </div>
            </div>
        </div>

我在网站上搜索过我忘记了以下代码的OP:

if ($.cookie('pop') == null) {
    $('#myModal').modal('show');
    $.cookie('pop', '30');
} 

我仍然在努力,我怎么可能在第一次访问时弹出该模态,并提供2个选择,无论Nav A还是B然后点击保存。一旦他们选择了一个选项,就只能显示一个导航器。据我所知,jQuery cookie应该至少保存用户的喜好,直到到期,但在脚本编写方面我是一个完全的菜鸟。饼干:(

1 个答案:

答案 0 :(得分:0)

if($.cookie('MenuChoice')) {
    //show menu based on saved choice
}
else {
    //show modal
}

用户选择保存后:

$.cookie('MenuChoice', CHOICE)