【问题标题】:JS Cookie hide/show divJS Cookie 隐藏/显示 div
【发布时间】:2015-12-01 10:27:45
【问题描述】:

尝试使用JS Cookie 制作一个 jQuery cookie 隐藏/显示框,但不知何故无法让它工作。该框根本不会显示。我正在使用 Shopify。

#pop-up {
    display: none;
}

jquery:

<script type='text/javascript'>//<![CDATA[
  $(window).load(function(){
  // if no cookie
  if (!$.cookie('alert')) {
      $( "#pop-up" ).show();
      $("#hide").click(function() {
          $( "#pop-up" ).slideUp( "slow" );
          // set the cookie for 24 hours
          var date = new Date();
          date.setTime(date.getTime() + 24 * 60 * 60 * 1000); 
          $.cookie('alert', true, { expires: date });
      });
  }
  });//]]> 
</script>

剩下的:

<div id="pop-up">
  <div id="center" class="box">
    40% off today only<br>
    <a id="hide" href="#">OK, thanks!</a>
  </div>
</div>

【问题讨论】:

    标签: jquery cookies shopify


    【解决方案1】:

    它不起作用,因为您只能将 字符串 存储在 cookie 中。您存储字符串 "true" 而不是布尔值 true

    试试下面的代码,我用!= "true"替换了检查。

    <script type='text/javascript'>//<![CDATA[
      $(window).load(function(){
      // if no cookie
      if ($.cookie('alert')!="true") {
          $( "#pop-up" ).show();
          $("#hide").click(function() {
              $( "#pop-up" ).slideUp( "slow" );
              // set the cookie for 24 hours
              var date = new Date();
              date.setTime(date.getTime() + 24 * 60 * 60 * 1000); 
              $.cookie('alert', "true", { expires: date });
          });
      }
      });//]]> 
    </script>
    

    一个工作的 jsfiddle:http://jsfiddle.net/bqam0qb4/1/

    【讨论】:

    • 谢谢!但它仍然行不通。该框不会显示。我输出 JS Cookie 的方式有问题吗? &lt;script src="//cdn.shopify.com/s/files/1/0437/4361/t/9/assets/jquery.cookie.js?3749616718764010363" type="text/javascript"&gt;&lt;/script&gt;
    • 感谢@Bas van Stein!非常适合重置 cookie。
    猜你喜欢
    • 2023-03-13
    • 1970-01-01
    • 2020-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-06
    • 1970-01-01
    • 2016-01-20
    相关资源
    最近更新 更多