如何在Twitter Bootstrap中只显示一次模态框?

5
这是我的现有代码:

这是我的现有代码:

<script type="text/javascript">
        $(document).ready(function() {

            if($.cookie('msg') == 0)
            {
                $('#myModal').modal('show');
                $.cookie('msg', 1);
            }

        });
</script>

在页面加载时,模型显示出来了,但是当我刷新页面时,它仍然保持显示状态,而应该只显示一次。$.cookie来自 https://github.com/carhartl/jquery-cookie 更新:
这个方法可行:'hide'由于某些原因没有起作用。
<script type="text/javascript">
        $(document).ready(function() {
            if($.cookie('msg') == null)
            {
                $('#myModal').modal('show');
                $.cookie('msg', 'str');
            }
            else
            {
                $("div#myModal.modal").css('display','none');
            }


        });

</script>

你尝试过将值转换为字符串吗? - Phu
是的,我设置了 $.cookie('msg') != 'hide',然后显示模态框,之后我将 msg cookie 的值设置为 hide。然后在刷新后模态框仍然会显示。 - Exploit
1
请检查我的解决方案是否有效。如果无效,您能否创建一个 jsfiddle? - Phu
你的解决方案没有起作用,但我尝试将模态设置为“隐藏”而不是“显示”,发现它也没有起作用。不确定原因。所以我刚刚检查了一下cookie是否已设置,如果已设置,则手动使用CSS隐藏,否则显示它。这样就可以解决问题了。 - Exploit
2个回答

6

@SarmenB的更新在大多数浏览器(FF、IE9)中有效,但在IE8中不起作用。

我修改了他的更新解决方案,使其在IE8中能够正常工作...

这是@SarmenB的解决方案:

<script type="text/javascript">
    $(document).ready(function() {
        if($.cookie('msg') == null)
        {
            $('#myModal').modal('show');
            $.cookie('msg', 'str');
        }
        else
        {
            $("div#myModal.modal").css('display','none');
        }
    });
</script>

这是我想出来的修改后的解决方案,在IE8中可以正常工作

<script type="text/javascript">
    $(document).ready(function() {
        if($.cookie('msg') != null && $.cookie('msg') != "")
        {
            $("div#myModal.modal, .modal-backdrop").hide();
        }
        else
        {
            $('#myModal').modal('show');
            $.cookie('msg', 'str');
        }
    });
</script>

基本上,为了使其在IE8中工作,我必须颠倒if / else语句中的内容。


0
从库的外观来看,该值应该是一个字符串。尝试使用以下代码:
<script type="text/javascript">
        $(document).ready(function() {

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

        });
</script>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接