gpt4 book ai didi

javascript - 切换div并设置cookie以保存jQuery

转载 作者:行者123 更新时间:2023-12-02 21:18:08 25 4
gpt4 key购买 nike

我使用以下代码来切换特定的 div 并使用 cookie 保存设置,以便它保留更改。

但由于某种原因,保存 cookie 部分无法正常工作。例如,当使用以前的浏览器按钮时,cookie 似乎没有保存。

我当前的代码中缺少什么完美添加 cookie 并检查它。

function getCookieValue(a) {
var b = document.cookie.match('(^|;)\\s*' + a + '\\s*=\\s*([^;]+)');
return b ? b.pop() : '';
}

$(document).ready(function() {

var redEl = $('input#togglebtw');

if (document.cookie.indexOf('togglebtw=') != -1) {
redEl.prop("checked", $.parseJSON(getCookieValue("togglebtw")));
}

if (redEl.prop("checked")) {
$(".price-container .price-including-tax").hide();
$(".price-container .price-excluding-tax").show();
} else {
$(".price-container .price-excluding-tax").hide();
$(".price-container .price-including-tax").show();
}

$('input#togglebtw').click(function() {

var expiryDate = new Date();
expiryDate.setDate(expiryDate.getDate() + 31);
expiryDate = expiryDate.toUTCString();

if ($(this).attr("class") == "btwToggler") {
if (redEl.prop("checked")) {
$(".price-container .price-including-tax").hide();
$(".price-container .price-excluding-tax").show();
} else {
$(".price-container .price-excluding-tax").hide();
$(".price-container .price-including-tax").show();
}
document.cookie = "togglebtw=" + this.checked.toString() + "; expires=" + expiryDate;
}
});
});
<input id="togglebtw" class="btwToggler" type="checkbox">

最佳答案

使用local或者sessionStorage,那么就不用担心cookie正确与否

尝试这个简化版本

const checkBTW = function() {
const checked = $('#togglebtw').is(":checked");
$(".price-container .price-including-tax").toggle(!checked);
$(".price-container .price-excluding-tax").toggle(checked);
localStorage.setItem("togglebtw",checked?"true":"false");
};
$(function() {
$('#togglebtw')
.on("click",checkBTW)
.prop("checked",localStorage.getItem("togglebtw")==="true");
checkBTW();
});

关于javascript - 切换div并设置cookie以保存jQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60915646/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com