[英]Set cookie using cookie.js
我試圖讓頁面記住使用jquery.cookie.js單擊單選按鈕時觸發的事件,但它沒有保存cookie。
這是我的代碼:
HTML:
<input type="radio" id="foo" name="langs" value="fooval">
<input type="radio" id="bar" name="langs" value="barval">
<span class="foo">Foo</span>
<span class="bar">Bar</span>
<script src="http://code.jquery.com/jquery.js"></script>
<script src="https://raw.githubusercontent.com/carhartl/jquery-cookie/master/src/jquery.cookie.js"></script>
JS:
$(document).ready(function () {
$('input').change(
function () {
var closed = $('span').is(":hidden");
if ($(this).val() == "barval") {
$('.foo').fadeOut();
$('.bar').fadeIn();
} else {
$('.bar').fadeOut();
$('.foo').fadeIn();
}
setCookie("open", closed, 365);
});
var showsqux = getCookie("open");
if (showqux == "true") {
$('.foo').fadeOut();
$('.bar').fadeIn();
} else {
$('.bar').fadeOut();
$('.foo').fadeIn();
}
});
function setCookie(c_name, value, exdays) {
var exdate = new Date();
exdate.setDate(exdate.getDate() + exdays);
var c_value = escape(value) + ((exdays == null) ? "" : "; expires=" + exdate.toUTCString());
document.cookie = c_name + "=" + c_value;
}
function getCookie(c_name) {
var i, x, y, ARRcookies = document.cookie.split(";");
for (i = 0; i < ARRcookies.length; i++) {
x = ARRcookies[i].substr(0, ARRcookies[i].indexOf("="));
y = ARRcookies[i].substr(ARRcookies[i].indexOf("=") + 1);
x = x.replace(/^\s+|\s+$/g, "");
if (x == c_name) {
return unescape(y);
}
}
}
CSS:
.bar {
display:none
}
我要去哪里錯了?
var show s qux
var showsqux = getCookie("open");
如果(showqux ==“ true”){
if (showqux == "true") {
那些錯別字。 :P
嘗試避免使用cookie,因為它已經過時了。
WebStorage是我推薦的新HTML5標准,您可以在此處永久或簡單地為該查看會話存儲高達10mb的數據。
您可以使用以下兩個簡單命令之一獲取和設置數據:“ getItem”或“ setItem”
請參閱以了解更多詳細信息: http : //www.w3schools.com/html/html5_webstorage.asp
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.