【问题标题】:Reveal Modal display only once仅显示一次模态显示
【发布时间】:2016-04-14 22:42:45
【问题描述】:

我正在使用基础模态来制作弹出窗口。我如何修改此代码,以便每个用户每天只出现一次弹出窗口。谢谢

<script>
    $(document).ready(function(){$('#myModal').foundation('reveal', 'open')});
    </script>

【问题讨论】:

    标签: javascript jquery modal-dialog popup zurb-foundation


    【解决方案1】:

    如果您不希望它在单个页面视图中多次打开,您可以添加一个类来防止重新打开。注意:not 选择器的使用

    $(document).ready(function(){$('#myModal:not(.opened)').foundation('reveal', 'open')}).addClass('opened');
    

    如果您想阻止模式在一段时间内多次打开,请查看此 MDN 示例,了解如何设置具有过期时间的 cookie,其中 doSomethingOnlyOnce 是您要插入的 cookie 的名称稍后可以在 document.cookie 中检查。

    function doOnce() {
      if (document.cookie.replace(/(?:(?:^|.*;\s*)doSomethingOnlyOnce\s*\=\s*([^;]*).*$)|^.*$/, "$1") !== "true") {
        alert("Do something here!");
        document.cookie = "doSomethingOnlyOnce=true; expires=Fri, 31 Dec 9999 23:59:59 GMT";
      }
    }
    

    您希望将 alert() 调用替换为您的代码,并以编程方式为 cookie 字符串的 expires 属性生成日期。

    更多信息在这里:https://developer.mozilla.org/en-US/docs/Web/API/Document/cookie

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多