
jquery.cookie.jsでカンタンにcookie(クッキー)を操作して次回から表示しないやつを作ってみる。
もくじ
jquery関連記事

【jQuery】pdfが存在するか、mimeタイプのバリデーションする

jQuery UIのsortableを使ってリストをドラッグで並び替える

jQueryのモーダルウィンドウを使ってフォームの確認画面を実装する

HTMLのcanvasタグとJavaScriptで円グラフの画像をつくる

bxSliderをカルーセルやコンテンツスライダーなど便利なサンプル5種

bxSliderの使い方と、オプションでのカスタマイズ方法

select・optionタグをjQueryで、プルダウンの選択値を取得、変更する
![jQueryでinput[type="file"]で画像アップロード時にプレビューを表示する](https://mugenweb-note.com/web/wp-content/uploads/2020/08/mamechi1110022.jpg)
jQueryでinput[type="file"]で画像アップロード時にプレビューを表示する

jQueryでrequiredの専用エラー文と文字数制限のバリデーションをつくる
デモを用意しました。
jQuery本体とjquery.cookie.jsを準備します。
ダウンロードはGitHubから。
ダウンロードしたらhtmlに読み込みます。
html
<script src="./jquery.js" type="text/javascript"></script> <script src="./jquery.cookie.js" type="text/javascript"></script>
JavaScript
$.cookie("cookie1", "red", {expires: 7, path: "/", domain: "sample.com", secure: true});
上のコードで、cookie1というcookieにredという値を入れています。
基本的にはこれだけでcookieを扱えます。
波括弧の中に有効期限などのオプションも指定できます。
expiresは有効期限で、この指定では7日間になります。
省略するとブラウザを閉じたときにcookieを削除します。
pathは保存するパス名を指定します。この指定ではサイト全体で利用することができます。
domainで有効となるドメインを指定します。
secureSSL接続の場合のみに送信します。
html
<button type="button" id="keep1">cookie1の保存</button>
JavaScript
$('#keep1').click(function(){
$.cookie("cookie1", "test");
});
デモのcookieの保存の部分です。ボタンクリックでcookie1にtestの値をセットしています。
html
<button type="button" id="delete1">cookie1の削除</button>
JavaScript
$('#delete1').click(function(){
$.removeCookie("cookie1");
});
$.removeCookie("cookie1");でcookie名を指定すれば削除できます。
html
<button type="button" id="keep2">値:red</button> <button type="button" id="keep3">値:blue</button>
JavaScript
function check(){
if ($.cookie("cookie1") == "red") {
$('.fix_status').css("background-color","#f9c1c1");
}else if ($.cookie("cookie1") == "blue") {
$('.fix_status').css("background-color","#bbe7ff");
}else{
$('.fix_status').css("background-color","#fff");
}
};
$('#keep2').click(function(){
$.cookie("cookie1", "red");
check();
});
$('#keep3').click(function(){
$.cookie("cookie1", "blue");
check();
});
cookieの取得は$.cookie("cookie1")でできるので取得したcookieの値で分岐させ、背景色を変更しています。
また、cookieの値の変更は、cookieの保存と同じ$.cookie("cookie1", "blue");で値の変更ができます。
押すボタンによって値を分けています。
次回から表示しないボタン
html
<input type="checkbox" id="public" value="">
<label for="public">次回から表示しない</label>
<div id="oc_box">
<p>コンテンツ</p>
</div>
JavaScript
if ($.cookie("cookie2") == "close") {
$("#public").prop('checked', true);
}else{
$("#oc_box").show();
}
function checkcookie(){
if ($("#public").prop('checked') == true) {
$.cookie("cookie2", "close");
}else{
$.removeCookie("cookie2");
}
};
function toggleslide(){
if ($.cookie("cookie2")) {
$("#oc_box").slideUp();
}else{
$("#oc_box").slideDown();
}
};
$('#public').click(function(){
checkcookie();
toggleslide();
});
だらだら書きましたが一番最初のif ($.cookie("cookie2") == "close")でリロードなどでページに来た時にcookieがあるかの状態を確認しcheckboxにチェックを入れたり、コンテンツの表示/非表示の処理をしています。
functionの処理は、
function toggleslide()cookieの値でコンテンツの表示/非表示を、
function checkcookie()でcheckboxの選択状態でcookieの状態を変更しています。
最後の$('#public').click(function()でcheckboxがクリックされたら2つのfunctionを実行しています。
cookieが保存してある場合は、リロードしても、別ページに移動してもcookieの値は保持されます。


コメント