jQuery cookie,当我按F5时,我可以't注意所选的选项
jQuery cookie, when I press F5, I can't watch the options selected
我的cookie有问题。我正在尝试将所选选项存储在cookie中。但我不明白为什么我的例子不起作用。
例如,不记得字体大小。这是我第一次使用jQuery.cookie。
HTML(在第一次选择,选项内容图像改变背景):
<h3>Seleccione un fondo de imagen</h3>
<select name="foo" id="foo" size="2">
<option value="1"></option>
<option value="2"></option>
<option value="3"></option>
<option value="4"></option>
<option value="5"></option>
<option value="6"></option>
</select>
<input type="button" id="button1" value="Establecer fondo" />
<h3>Seleccione una fuente</h3>
<select name="fuente" id="fuente" size="2" style='-moz-border-radius: 8px;'>
<option value="1">Arial</option>
<option value="2">Tahoma</option>
<option value="3">Verdana</option>
</select>
<input type="button" id="button2" value="Establecer fuente" />
<h3>Seleccione un tamaño de fuente</h3>
<select name="fuentesize" id="fuentesize" size="2" style='-moz-border-radius: 8px;'>
<option value="1">8</option>
<option value="2">10</option>
<option value="3">12</option>
<option value="4">14</option>
</select>
<input type="button" id="button3" value="Establecer tamaño de fuente" />
<h3>Seleccione un color de fuente</h3>
<select name="fuentecolor" id="fuentecolor" size="2" style='-moz-border-radius: 8px;'>
<option value="1">rojo</option>
<option value="2">azul</option>
<option value="3">verde</option>
<option value="4">rosa</option>
</select>
<input type="button" id="button4" value="Establecer color de fuente" />
<h3>Seleccione un estilo para la fuente</h3>
<select name="fuentestilo" id="fuentestilo" size="2" style='-moz-border-radius: 8px;'>
<option value="1">cursiva</option>
<option value="2">subrayado</option>
<option value="3">sin subrayado</option>
</select>
<input type="button" id="button5" value="Establecer estilo de fuente" />
JavaScript
$(document).ready(function() {
var value;
value = $.cookie("cookieFondo");
if (value) {
$("#foo").val(value);
}
value = $.cookie("cookieFuente");
if (value) {
$("#fuente").val(value);
}
var value;
value = $.cookie("cookieFuenteSize");
if (value) {
$("#fuentesize").val(value);
}
value = $.cookie("cookieFuenteColor");
if (value) {
$("#fuentecolor").val(value);
}
value = $.cookie("cookieFuentEstilo");
if (value) {
$("#fuentestilo").val(value);
}
$('#button1').click(function() {
//alert($('#foo option:selected').text());
var bg = $('#foo').val();
if(bg==1){
$('body').css('background-image', 'url(img/bg00.png)');
$.cookie("cookieFondo", bg);
}
if(bg==2){
$('body').css('background-image', 'url(img/bg01.png)');
$.cookie("cookieFondo", bg);
}
if(bg==3){
$('body').css('background-image', 'url(img/bg02.png)');
$.cookie("cookieFondo", bg);
}
if(bg==4){
$('body').css('background-image', 'url(img/bg03.png)');
$.cookie("cookieFondo", bg);
}
if(bg==5){
$('body').css('background-image', 'url(img/bg04.png)');
$.cookie("cookieFondo", bg);
}
if(bg==6){
$('body').css('background-image', 'url(img/bg05.png)');
$.cookie("cookieFondo", bg);
}
});
$('#button2').click(function() {
//alert($('#foo option:selected').text());
var font = $('#fuente').val();
if(font==1){
$('body').css('font-family', 'Arial');
$.cookie("cookieFuente", font);
}
if(font==2){
$('body').css('font-family', 'Tahoma');
$.cookie("cookieFuente", font);
}
if(font==3){
$('body').css('font-family', 'Verdana');
$.cookie("cookieFuente", font);
}
});
$('#button3').click(function() {
//alert($('#foo option:selected').text());
var fontsize = $('#fuentesize').val();
if(fontsize==1){
$('body').css('font-size', 8);
$.cookie("cookieFuenteSize", fontsize);
}
if(fontsize==2){
$('body').css('font-size', 10);
$.cookie("cookieFuenteSize", fontsize);
}
if(fontsize==3){
$('body').css('font-size', 12);
$.cookie("cookieFuenteSize", fontsize);
}
if(fontsize==4){
$('body').css('font-size', 14);
$.cookie("cookieFuenteSize", fontsize);
}
});
$('#button4').click(function() {
//alert($('#foo option:selected').text());
var fontcolor = $('#fuentecolor').val();
if(fontcolor==1){
$('body').css('color', 'red');
$.cookie("cookieFuenteColor", fontcolor);
}
if(fontcolor==2){
$('body').css('color', 'blue');
$.cookie("cookieFuenteColor", fontcolor);
}
if(fontcolor==3){
$('body').css('color', 'green');
$.cookie("cookieFuenteColor", fontcolor);
}
if(fontcolor==4){
$('body').css('color', 'pink');
$.cookie("cookieFuenteColor", fontcolor);
}
});
$('#button5').click(function() {
//alert($('#foo option:selected').text());
var fontstyle = $('#fuentestilo').val();
if(fontstyle==1){
$('body').css('font-style', 'italic');
$.cookie("cookieFuentEstilo", fontstyle);
}
if(fontstyle==2){
$('body').css('text-decoration', 'underline');
$.cookie("cookieFuentEstilo", fontstyle);
}
if(fontstyle==3){
$('body').css('text-decoration' , 'none');
$.cookie("cookieFuentEstilo", fontstyle);
}
});
});
您正在将值保存到cookie中,但当页面加载时,您不会读取cookie来根据存储在cookie中的值初始化页面的状态。
你需要做这样的事情:
$(document).ready(function() {
var value;
value = $.cookie("cookieFondo");
if (value) {
$("#foo").val(value);
}
value = $.cookie("cookieFuente");
if (value) {
$("#fuente").val(value);
}
// ... more here
});
或者使用表格的更DRY的版本是这样的:
$(document).ready(function() {
var value;
var items = [
"cookieFondo", "#foo",
"cookieFuente", "#fuente"
// list more items here
];
for (var i = 0; i < items.length; i+=2) {
value = $.cookie(items[i]);
if (value) {
$(items[i+1]).val(value);
}
}
});
相关文章:
- 我的单元测试选项是什么
- 如何更改bigquery API中的计费层选项
- 使用Javascript获取所选选项ID
- Selectize.js:如何对整数值的选项进行排序
- 通过js在新选项卡中有条件地打开url
- 按照选项卡索引的顺序循环一个jQuery选择
- 在jquery中为显示/隐藏设置cookie
- 像cookie这样的全局变量,它在回发后保留值,但应该为不同的实例保存不同的值(选项卡/窗口)
- 如何查找和更改 cookie 的“发送”选项
- Javascript cookie 用于保存用户首选项并使用共享首选项显示内容
- 从另一个 HTML 页面检索 cookie - 基于链接的选项选择
- 为每个选项卡单独创建 cookie
- 使用javascript获取另一个选项卡的cookie
- 使用jQuery 'cookie'在网站上保持选定的选项卡
- 会话cookie在浏览器选项卡关闭时未过期
- 如何在cookie-session 1.0.2中传递cookie选项
- 如何根据浏览器选项卡设置cookie
- 将用户首选项存储在Cookie中
- jQuery cookie,当我按F5时,我可以't注意所选的选项
- 在浏览器选项卡之间共享 Cookie,而无需在 javascript 中刷新选项卡