0

jQuery Cookie Plugin で Cookie を作成して保存しようとしています。クッキーを普通のカウンターにしたい。ページが更新されてもカウンターを動かし続けたいので、クッキーにする必要があります。ある条件が真の場合、Cookie の値に 1 を追加します。単純なようですが、プラグインの使用に問題があります。

私はこのようなクッキーを作成しました:

$(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 のままでした。これを達成する方法について何か提案はありますか?

4

2 に答える 2

2

ゼロで更新する前に、存在するかどうかを確認する必要があります。

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
    } 
});
于 2012-08-02T16:29:51.560 に答える
-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を設定する必要があります。

于 2012-08-02T16:30:47.390 に答える