JS Cookie隐藏/显示div

时间:2015-12-01 10:27:46

标签: jquery cookies shopify

尝试使用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>

1 个答案:

答案 0 :(得分:3)

它不起作用,因为您只能在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/