javascript - 我有两个按钮 onclick 更改文本按钮并且不保存我想使用 javascript 中的本地存储来保存更改
问题描述
我尝试了很多方法,但它对我不起作用。问题是什么?代码html
<button class="button" id="button1">click 1</button>
<button class="button" id="button2">click 2</button>
javascript
var activeButton = localStorage.getItem('activeButton');
var isActive = localStorage.getItem('isActive');
const allButtons = document.querySelectorAll(".button");
[...allButtons].forEach(function (thisButton) {
if (isActive === 'true') {
if (activeButton !== thisButton.id) {
thisButton.disabled = true;
}
}
});
const movetool = event => {
activeButton = localStorage.getItem('activeButton');
if (activeButton === target.id) {
var enableAll = false;
let saveuser = localStorage.getItem("save_unsave");
var setName = "don't click";
localStorage.setItem("Name", setName);
target.innerHTML = localStorage.getItem("Name");
Array.from(allButtons).forEach(function (thisButton) {
if (thisButton.disabled) {
enableAll = true;
return;
}
});
if (enableAll) {
Array.from(allButtons).forEach(function (thisButton) {
thisButton.disabled = false;
target.innerHTML = "click";
});
localStorage.setItem('isActive', false);
} else {
Array.from(allButtons).forEach(function (thisButton) {
thisButton.disabled = true;
thisButton.innerHTML = "don't click";
var setName = "don't click";
localStorage.setItem("Name", setName);
target.innerHTML = localStorage.getItem("Name");
});
if (target.classList.contains("button")) {
target.disabled = false;
localStorage.setItem('isActive', true);
localStorage.setItem('activeButton', target.id);
}
}
} else {
Array.from(allButtons).forEach(function (thisButton) {
thisButton.disabled = true;
thisButton.innerHTML = "don't click";
var setName = "clicked";
localStorage.setItem("Name", setName);
target.innerHTML = localStorage.getItem("Name");
});
if (target.classList.contains("button")) {
target.disabled = false;
localStorage.setItem('isActive', true);
localStorage.setItem('activeButton', target.id);
}
}
}
document.querySelector('.button_container').addEventListener('click', movetool);
这是代码。它可以工作,但如果你重新加载,按钮会按原样返回。你犯了什么错误?
解决方案
推荐阅读
- sql - 如何在时间序列数据上每周识别新添加的主键
- node.js - 如何在 MongoDB 中使用聚合框架来查找每小时、每天、每周、每年的温度数据?
- material-ui - React Hook Form + Material UI Datepickers 和 Luxon 输出格式
- keyboard - 键盘映射;从 MacBook 到 Fusion 到 RDP 的 CTRL-C 和 CTRL-V
- python - 在python中逐行比较两个文件的想法
- jenkins - 如何为上传到 Jfrog Artifactory 的每个工件触发 Jenkins 管道构建
- apache - 在 Apache 上设置 ProxyPass 时,如何保留“位置”行?
- r - 在 R 包 FactoExtra 的 fviz_pca 中指定颜色和形状图例
- php - 在会话中保存下拉菜单中的数据并显示在另一个页面 Codeigniter
- google-chrome - 是否可以创建一个 chrome 扩展来在重定向之前拦截浏览器搜索栏中的用户类型?