我正在尝试使用jQuery Cookie插件创建和存储cookie。我想cookie只是一个普通的柜台。我需要它是一个cookie,因为我想在页面刷新时保持计数器运行。当某些条件为真时,我希望将1添加到cookie值中。看起来很简单,但我在使用插件时遇到了麻烦。
我已经创建了这样的cookie:
$(document).ready(function(){
$.cookie("cookieValue", "0", { expires: 7 , path: '/' });
});
我想要实现的一个小例子:
if (/*some condition*/) {
cokieValue++;
}
当条件为真时,这不起作用,cookie值保持为0.我也尝试过:
$(document).ready(function(){
$.cookie("cookieValue", "0", { expires: 7 , path: '/' });
var cookieValue = parseInt($.cookie("cookieValue"));
if (/*some condition*/) {
cookieValue++;
}
});
这也不起作用 - cookieValue保持为0.有关如何实现此目的的任何建议吗?
答案 0 :(得分:3)
在用零更新之前,您需要检查它是否存在。
if( $.cookie('cookieValue') === null ) {
$.cookie( 'cookieValue', '0', { expires: 7, path: '/' } );
}
您需要在更新后保存该值。
$.cookie("cookieValue", cookieValue, { expires: 7 , path: '/' })
所以最终的代码看起来像是
$(function(){ //shortcut for document.ready
var cookieVal = $.cookie("cookieValue"); //grab the cookie
if( cookieVal === null ) { //see if it is null
$.cookie( 'cookieValue', '0', { expires: 7, path: '/' } ); //set default value
cookieVal = 0; //set the value to zero
}
var cookieValue = parseInt(cookieVal,10); //convert it to number
if (/*some condition*/) {
cookieValue++; //increment the value
$.cookie("cookieValue", cookieValue, { expires: 7 , path: '/' }); //save new value
}
});
答案 1 :(得分:-1)
$(document).ready(function(){
$.cookie("cookieValue", "0", { expires: 7 , path: '/' });
var cookieValue = parseInt($.cookie("cookieValue"));
if (/*some condition*/) {
cookieValue++;
$.cookie("cookieValue", cookieValue, { expires: 7 , path: '/' });
}
});
要用新值设置cookie。