更改颜色并设置 cookie
Change color and set a cookie
我是 Javascript 和 Stack Overflow 社区的新成员。我创建了一个脚本来更改特定元素的样式,结果如下:
HTML:
<div id="menu"></div>
<div id="cols">
<div id="cols_1"></div>
<div id="cols_2"></div>
</div>
<div id="center">
<div id="green">Green</div>
<div id="bordeaux">Bordeaux</div>
</div>
Javascript:
document.getElementById("green").onclick = function() {colorGreen()};
document.getElementById("bordeaux").onclick = function() {colorBordeaux()};
function colorGreen() {
document.getElementById("menu").style.borderBottom = "3px solid #448F44";
document.getElementById("cols_1").style.borderTop = "3px solid #448F44";
document.getElementById("cols_2").style.borderTop = "3px solid #448F44";
}
function colorBordeaux() {
document.getElementById("menu").style.borderBottom = "3px solid #E8920C";
document.getElementById("cols_1").style.borderTop = "3px solid #E8920C";
document.getElementById("cols_2").style.borderTop = "3px solid #E8920C";
}
JSFiddle:https://jsfiddle.net/mshy3vrh/2/
我在 JavaScript 中阅读了一些关于如何使用 cookie 的手册,但我不清楚如何使用它们。我想问一下,如果使用这个脚本,有人可以告诉我如何设置 cookie:当有人更改颜色时,单击带有 id 绿色或波尔多的跨度,信息将被存储,如果您刷新页面,则保持所选颜色直到用户清理浏览器的缓存。
这样我就可以清楚地知道应该如何使用它们。
此致,
凯尔
这个 fiddle 应该有效。
https://jsfiddle.net/mshy3vrh/5/
对于这个答案,我使用了在 Mandeep Janjua
发布的 this question 第二个答案中找到的代码片段
function createCookie(name,value,days) {
if (days) {
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
var expires = "; expires="+date.toGMTString();
}
else var expires = "";
document.cookie = name+"="+value+expires+"; path=/";
}
function readCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}
function eraseCookie(name) {
createCookie(name,"",-1);
}
document.getElementById("green").onclick = function() {colorGreen()};
document.getElementById("bordeaux").onclick = function() {colorBordeaux()};
var x = readCookie('color')
if (x === 'green') {
colorGreen();
} else if(x === 'bordeaux'){
colorBordeaux();
}
function colorGreen() {
document.getElementById("menu").style.borderBottom = "3px solid #448F44";
document.getElementById("cols_1").style.borderTop = "3px solid #448F44";
document.getElementById("cols_2").style.borderTop = "3px solid #448F44";
createCookie('color','green',7);
}
function colorBordeaux() {
document.getElementById("menu").style.borderBottom = "3px solid #E8920C";
document.getElementById("cols_1").style.borderTop = "3px solid #E8920C";
document.getElementById("cols_2").style.borderTop = "3px solid #E8920C";
createCookie('color','bordeaux',7);
}
我是 Javascript 和 Stack Overflow 社区的新成员。我创建了一个脚本来更改特定元素的样式,结果如下:
HTML:
<div id="menu"></div>
<div id="cols">
<div id="cols_1"></div>
<div id="cols_2"></div>
</div>
<div id="center">
<div id="green">Green</div>
<div id="bordeaux">Bordeaux</div>
</div>
Javascript:
document.getElementById("green").onclick = function() {colorGreen()};
document.getElementById("bordeaux").onclick = function() {colorBordeaux()};
function colorGreen() {
document.getElementById("menu").style.borderBottom = "3px solid #448F44";
document.getElementById("cols_1").style.borderTop = "3px solid #448F44";
document.getElementById("cols_2").style.borderTop = "3px solid #448F44";
}
function colorBordeaux() {
document.getElementById("menu").style.borderBottom = "3px solid #E8920C";
document.getElementById("cols_1").style.borderTop = "3px solid #E8920C";
document.getElementById("cols_2").style.borderTop = "3px solid #E8920C";
}
JSFiddle:https://jsfiddle.net/mshy3vrh/2/
我在 JavaScript 中阅读了一些关于如何使用 cookie 的手册,但我不清楚如何使用它们。我想问一下,如果使用这个脚本,有人可以告诉我如何设置 cookie:当有人更改颜色时,单击带有 id 绿色或波尔多的跨度,信息将被存储,如果您刷新页面,则保持所选颜色直到用户清理浏览器的缓存。 这样我就可以清楚地知道应该如何使用它们。
此致, 凯尔
这个 fiddle 应该有效。
https://jsfiddle.net/mshy3vrh/5/
对于这个答案,我使用了在 Mandeep Janjua
发布的 this question 第二个答案中找到的代码片段 function createCookie(name,value,days) {
if (days) {
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
var expires = "; expires="+date.toGMTString();
}
else var expires = "";
document.cookie = name+"="+value+expires+"; path=/";
}
function readCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}
function eraseCookie(name) {
createCookie(name,"",-1);
}
document.getElementById("green").onclick = function() {colorGreen()};
document.getElementById("bordeaux").onclick = function() {colorBordeaux()};
var x = readCookie('color')
if (x === 'green') {
colorGreen();
} else if(x === 'bordeaux'){
colorBordeaux();
}
function colorGreen() {
document.getElementById("menu").style.borderBottom = "3px solid #448F44";
document.getElementById("cols_1").style.borderTop = "3px solid #448F44";
document.getElementById("cols_2").style.borderTop = "3px solid #448F44";
createCookie('color','green',7);
}
function colorBordeaux() {
document.getElementById("menu").style.borderBottom = "3px solid #E8920C";
document.getElementById("cols_1").style.borderTop = "3px solid #E8920C";
document.getElementById("cols_2").style.borderTop = "3px solid #E8920C";
createCookie('color','bordeaux',7);
}