jqueryCookie를 사용하여 낮/밤 모드로 하나의 버튼을 만들려고합니다. 나는이 코드가 무엇이 잘못되었는지 확신하지 못한다. 첫 번째 "if"문이 작동하고 쿠키를 추가하지만 일단 페이지를 새로 고치면 본문은 쿠키가 남아있는 동안 더 이상 graybg 클래스를 제거합니다.
$(document).ready(function() {
var btn = $('#modeSwitch'),
body = $('body'),
cookieVal = $.cookie("switchLight");
btn.click(function(e) {
if (cookieVal != "2") {
$.cookie("switchLight", "2", { path: '/' });
body.addClass('graybg');
btn.text('Day');
}else if (cookieVal == "2") {
btn.text('Day');
body.addClass('graybg');
$.removeCookie("switchLight", { path: '/' });
$(this).text('Night');
};
});
});
을 당신은 당신이 페이지를 새로 고침하는 단계; 클래스가 동적으로 추가되면 새로 고침시 사라집니다. –
제안을 주셔서 감사합니다. 코드를 pageLoad() 함수에 넣고 문제가 해결되는지 확인합니다. – user2734550
나는 가능한 결함이 있음을 안다. 당신은 document.ready에서만 cookieVal을 설정하고 있지만 그것을 결코 업데이트하지는 않는다. 이는 btn에서 발생하는 모든 클릭이 새로 고침 될 때까지 지정된 페이지 상태에 대해 항상 동일한 작업을 수행한다는 것을 의미합니다. –