使用jquery cookie plugin我有一个非常简单的功能:
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) ;
但当然,问题不存在,并且控制台中没有报告其他错误。 我的目标是仅在首次访问时打开模态弹出窗口。
答案 0 :(得分:1)
尝试:
if($.cookie('modal-popup').length < 1){
$.cookie('modal-popup',1);
}
如果cookie不存在,则长度为-1;如果是,则为1或更高。
答案 1 :(得分:1)
只需将后增量更改为preincrement:
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);
}
},