1
私は、サイトのページの本文を設定するためにユーザーが選択した色を保存するためにクッキーを使用しようとしています。さて、クッキーはうまくセットされていますが、何らかの理由で私はそれを動作させるようです。私がどこに間違っているのか誰にでも見える?JavaScriptのクッキーが機能しない
ありがとうございました。
コンソールエラー:
Uncaught TypeError: Cannot set property 'className' of null
function getCookie(cname) {
var name = cname + "=";
var decodedCookie = decodeURIComponent(document.cookie);
var ca = decodedCookie.split(';');
for (var i = 0; i < ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == ' ') {
c = c.substring(1);
}
if (c.indexOf(name) == 0) {
return c.substring(name.length, c.length);
}
}
return "";
}
var bgColour = getCookie('bgColour');
if (bgColour == "01") {
document.getElementById("body").className = "bgColor01";
}
if (bgColour == "02") {
document.getElementById("body").className = "bgColor02";
}
if (bgColour == "03") {
document.getElementById("body").className = "bgColor03";
}
if (bgColour == "04") {
document.getElementById("body").className = "bgColor04";
}
if (bgColour == "05") {
document.getElementById("body").className = "bgColor05";
}
function color1() {
document.cookie = "bgColour=01";
}
function color2() {
document.cookie = "bgColour=02";
}
function color3() {
document.cookie = "bgColour=03";
}
function color4() {
document.cookie = "bgColour=04";
}
function color5() {
document.cookie = "bgColour=05";
}
body {
margin: 0;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.bgColor00 {
background-color: #f6f4fb;
}
.bgColor01 {
background-color: #80b3ff;
}
.bgColor02 {
background-color: #afe9af;
}
.bgColor03 {
background-color: #ffb380;
}
.bgColor04 {
background-color: #ffaaaa;
}
.bgColor05 {
background-color: #eeaaff;
}
<html>
<body id="body">
<button onClick="color1()">Blue</button>
<button onClick="color2()">Green</button>
<button onClick="color3()">Orange</button>
<button onClick="color4()">Red</button>
<button onClick="color5()">Purple</button>
</body>
</html>
スタックサンドボックスのエラーを除いて、どのようなエラーが表示されますか? – Rick
私は今、エラーで投稿を更新します –
JavaScriptのクッキーにはあまり慣れていませんが、あなたは色と色を数回交換しています。私はより一貫しています、これは実際にあなたの問題を解決します。 – JiFus