Jquery cookie总是返回1

Jquery cookie always return 1

本文关键字:返回 cookie Jquery      更新时间:2023-09-26

使用jquery cookie插件,我有一个非常简单的函数:

demoPopupInit: function() {
        // alert($.cookie('modal-popup'));
       if (! $.cookie('modal-popup')) {
           $.cookie('modal-popup',1) ;
        }
        if ( $.cookie('modal-popup') <= 3 ) {
            // return;
        var modal_cookie = $.cookie('modal-popup') ;
        modal_cookie = modal_cookie++;
        $("#intro_index").modal({backdrop:true});
        $.cookie('modal-popup', modal_cookie );
        }
    },

    }

我相信这是一个非常简单的错误,但我糟糕的JS技能让我无法理解为什么alert()在开始时总是变成1。。

我也试过

   if (! $.cookie('modal-popup') == NULL) {
       $.cookie('modal-popup',1) ;

当然,问题不存在,控制台中也没有报告其他错误。我的目标是只在3次首次访问时打开模式弹出窗口。

只需将增量后更改为增量前:

modal_cookie = modal_cookie++;

modal_cookie = ++modal_cookie;

cookie还返回一个字符串值,为了安全起见,请使用parseInt来比较int值。并避免多次读取cookie,将其保存在变量中。

简称:

demoPopupInit: function() {
       if (!$.cookie('modal-popup')) {
           $.cookie('modal-popup',1) ;
        }
        var curval = parseInt($.cookie('modal-popup'));
        if ( curval <= 3 ) {
            // return;
        $("#intro_index").modal({backdrop:true});
        $.cookie('modal-popup', ++curval);
        }
    },

尝试:

if($.cookie('modal-popup').length < 1){ 
  $.cookie('modal-popup',1);
}

如果cookie不存在,则长度将为-1;如果是,它将是1或更大。