我正在尝试让页面记住使用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
}
我哪里错了?
答案 0 :(得分:1)
var show s qux
var showsqux = getCookie("open");
if(showqux ==“true”){
if (showqux == "true") {
认识那些错别字。 :P
答案 1 :(得分:1)
尽量避免使用Cookie,因为它是一种过时的标准。
WebStorage是我推荐的新HTML5标准,您可以在这里永久存储最多10mb的数据,或者只是为了查看该会话。
你可以得到&amp;使用以下两个简单命令之一设置数据:&#39; getItem&#39;或者&#39; setItem&#39;