こんにちは私はJavaScriptを使用しています。クッキーを使用してJavaScriptを表示/非表示にする
$(document).ready(function() {
var status = getCookie();
if (status > 0) {
setCookie(1);
document.getElementById('cookiemenu_dropdown').style.display = "block";
} else {
setCookie(0);
document.getElementById('cookiemenu_dropdown').style.display = "none";
}
});
//-----------------------------------------------------
function getCookie() {
var cookies = document.cookie.split(';');
var FirstCookie = cookies[0];
var FirstValue = FirstCookie.split('=')[1];
return FirstValue;
}
//-----------------------------------------------------
function setCookie(value) {
var expires = new Date();
expires.setMonth(expires.getYear() + 1);
document.cookie = 'divStav' + '=' + value + ';EXPIRES=' + expires.toGMTString();
}
//-----------------------------------------------------
function ShowHideCookieBox() {
var display = document.getElementById('cookiemenu_dropdown').style.display;
if (display == "block") {
document.getElementById('cookiemenu_dropdown').style.display = "none";
setCookie(0);
} else {
document.getElementById('cookiemenu_dropdown').style.display = "block";
setCookie(1);
}
}
<div id='cookiemenu'>
<div class='cookiemenu_header' onclick='ShowHideCookieBox()'>
<img src='./img/triangle.png' />Letní akce!
<img src='./img/triangle.png' />
</div>
<div id="cookiemenu_dropdown" class='cookiemenu_content'>
<span class='date'>Lorem</span>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus mollis magna sed scelerisque hendrerit. Curabitur non quam bibendum, eleifend lorem et, bibendum turpis. Aliquam finibus velit ac lorem consectetur hendrerit. Integer viverra risus vitae
sapien
</div>
</div>
スクリプトは次のように動作するはずです:私は私のウェブページを初めて訪れると
、ボックスは(デフォルトでは)隠されています。ヘッダーをクリックすると、ボックスが表示され、値1がクッキーに設定されます(私のウェブ上には1つのクッキーしかありません)。再度訪問すると、が開かれ、(Cookie JavaScriptからは値1、値が1のときはdisplay:block
に設定されています)が表示されます。
問題があります。クリックして表示/非表示は正常に動作します。最初にページにアクセスするとボックスが非表示になります(これも問題ありません)。しかし、クッキーは保存されません。その後、ボックスを開いてF5キーを押し、ボックスはページのリロード後に非表示になります。
誰かが私に助けてくれますか?