我有一份通讯注册表单,我想每15天仅加载一次(弹出),否则可能会有些烦人。我当前正在使用此jquery代码在页面加载时加载弹出表单。

<div id="test-popup" class="white-popup mfp-hide">
Popup Form
</div>

<script>
jQuery(window).load(function(){
jQuery.magnificPopup.open({
items: {src: '#test-popup'},type: 'inline'}, 0);
});
</script>


每次您访问页面时加载表单时,此方法都很好,但我想限制此范围,以便新用户每15天查看一次。不知道这15天是否是我想出的最佳做法?

最佳答案

can使用localStorage执行此操作。

$(window).on('load', function() {
  var now, lastDatePopupShowed;
  now = new Date();

  if (localStorage.getItem('lastDatePopupShowed') !== null) {
    lastDatePopupShowed = new Date(parseInt(localStorage.getItem('lastDatePopupShowed')));
  }

  if (((now - lastDatePopupShowed) >= (15 * 86400000)) || !lastDatePopupShowed) {
    $.magnificPopup.open({
      items: { src: '#test-popup' },
      type: 'inline'
    }, 0);

    localStorage.setItem('lastDatePopupShowed', now);
  }
});

<div id="test-popup" class="white-popup mfp-hide">
  Popup Form
</div>

您可以在此处看到一个有效的示例:http://codepen.io/caio/pen/Qwxarw

09-20 23:36