Bootstrap 4:模式复选框上的“不再显示我”

时间:2019-06-03 13:43:16

标签: jquery html css bootstrap-4

我有一个带复选框的模态,上面写着“不再向我展示”。 当我单击该复选框,然后按“关闭”按钮时,我希望我的模态“永远”消失。

我正在使用jquery-cookie,但我不知道为什么它不起作用。

当我选中复选框并按“关闭”按钮并重新加载页面时,模态将重新出现..

这是我的代码:https://codepen.io/anon/pen/WBPLEK

这只是JS部分:

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<header>
  <div id="toggle" class="hamburger block">
    &#9776;
  </div>

  <div class="site title block">
    Site Title
  </div>

  <div class="menu hide">
    Placeholder for menu
  </div>
</header>

1 个答案:

答案 0 :(得分:2)

单击窗口复选框时,您没有设置cookie。相反,您需要将click事件侦听器添加到您的复选框,然后检查是否已选中/未选中并设置适当的cookie。另外,要隐藏模式,可以使用:

jQuery(document).ready(function($) {
  if ($.cookie("cacher-modal")) {
    $("#popupMaintenanceModal").remove();
  } else {
    $("#popupMaintenanceModal").modal("show");
  }

  $("#popupMaintenanceCheckbox").click(function() {
    if ($(this).is(":checked")) {
        $("#popupMaintenanceModal").modal("hide");
        $.cookie("cacher-modal", true);
    } else {
      $.cookie("cacher-modal", false);
    }
  })
});

要正确关闭模态。

:style="{'background-image': ($_.isEmpty(content.Image) ? '' : 
'url('+_CONFIG.media_url + content.Image +')') }">