html - 隐藏 div 并存储本地存储在页面刷新时不显示 div
问题描述
单击时,我在 div 中有一个图像按钮,我想隐藏图像按钮并以某种方式存储到本地存储中,以便在页面刷新时不再显示 div。
<div class="whatsapp"><a href="https://chat.whatsapp.com/........." target="_blank">
<img src="/img/whatsapp_group.png" alt="Whatsapp Join Button"><div class="whatsappbut">To Find Out MORE!</div></a></div>
解决方案
我在您的 div 中添加了一个 ID( id="img-btn"
),以便在脚本标签中使用它。如果用户到目前为止没有单击您的图像按钮,localStorage.getItem('img-btn-clicked')
将返回 null 否则它将返回“true”(正如我们在 saveClicked 函数中设置的那样)。
只需确保将脚本标记放在正文标记结束之前(或者您可以链接单独的 Javascript 文件)。
<body>
<div id="img-btn" class="whatsapp">
<a href="https://chat.whatsapp.com/........." target="_blank">
<img src="/img/whatsapp_group.png" alt="Whatsapp Join Button" />
<div class="whatsappbut">To Find Out MORE!</div></a>
</div>
<script>
checkImgBtnClicked();
function checkImgBtnClicked() {
const clicked = localStorage.getItem('img-btn-clicked'); // if this is not set it will return null
if (clicked) {
document.getElementById('img-btn').style.display = 'none'; // hides the img-btn
} else {
// add event listener for image button click(saveClicked function will be executed if user clicks on image button
document.getElementById('img-btn').addEventListener('click', saveClicked);
}
}
function saveClicked() {
// set a flag in local storage that image button is clicked
localStorage.setItem('img-btn-clicked', 'true');
document.getElementById('img-btn').style.display = 'none'; // hides the img-btn after it gets clicked
}
</script>
</body>
推荐阅读
- nativescript - Nativescript Tap事件在tabview iOS中不起作用
- javascript - 在悬停时显示 div,仅当前(一次一个,而不是一次全部)
- scala - 为什么使用builder设计模式来创建Spark Session?
- c++ - C++ Battery Collector 教程的编译错误
- java - 为什么 java 8 时间没有向我显示时区 Etc/GMT+1 的正确时间
- r - 尝试根据 R 中的日期进行过滤,在 charToDate(x) 中收到错误:字符串不是标准的明确格式
- python - 在 Mac 上使用 conda 安装 LaTeX
- python - update_or_create 的 Django GenericRelation
- powerbi - 如何在 Power BI 中创建连续度量
- java - ReplaceAll 方法第二次不起作用