请有人帮我js-cookie
这是我的代码无效:
// Set Default
var names = ['car', 'bus'];
// Get Cookie
var href_name = $.cookie('href_name');
// Cookie Exists
if (href_name){
$('#switch_style').attr(href_name);
}
// Cookie Doesn't Exist
else {
}
$('#box').on('click', function(){
$("#switch_style").attr("href", 'bus' );
$.cookie('href_name', 'bus');
});
在这里你可以看到jsfiddle
这里也是工作示例:
// Set Default Colors to Match CSS CLasses
var colors = ['black', 'red'];
// Get Cookie
var box_color = $.cookie('box_color');
// Cookie Exists
if (box_color){
$('#box').addClass(box_color);
}
// Cookie Doesn't Exist
else {
$('#box').addClass('black');
}
$('#box').on('click', function(){
$(this).removeClass('black').addClass('red');
$.cookie('box_color', 'red');
});
这里是jsfiddle
所以我不知道为什么第一个例子不起作用。当有人点击该框后,我需要更改href之后,并且需要在刷新页面后保持更改。但由于某种原因,它不起作用。请看第一个例子。而第二个例子正常工作。
谢谢
答案 0 :(得分:2)
只需替换
// This is actually a getter
$('#switch_style').attr(href_name);
与
// Here we are actually setting the "href" from cookie
$('#switch_style').attr("href", href_name);
你的代码应该可以正常工作。
另外,您实际上并未使用js-cookie
,而是旧版本jquery-cookie
答案 1 :(得分:1)
好像你错误地使用了js-cookies。
// Set Default Colors to Match CSS CLasses
var colors = ['black', 'red'];
// Get Cookie
var box_color = Cookies.get('box_color');
// Cookie Exists
if (box_color != ""){
$('#box').addClass(box_color);
}
// Cookie Doesn't Exist
else {
$('#box').addClass('black');
}
$('#box').on('click', function(){
$(this).removeClass('black').addClass('red');
Cookies.set('box_color', 'red');
});
修改强>
这篇文章似乎无关紧要,因为正如@palaѕн指出的那样,你没有使用js-cookie