gpt4 book ai didi

javascript - 单击按钮时在导航栏中追加元素并将追加的元素保存到 localStorage

转载 作者:行者123 更新时间:2023-11-27 23:05:29 25 4
gpt4 key购买 nike

这是 My code !

<!DOCTYPE html>
<html>

<head>
<link rel="stylesheet" href="style.css">
<script src="script.js"></script>
<script
src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js">
</script>
</head>

<body>
<h1>Hello Plunker!</h1>

<div id="myHeader">
<a style="float:left" href="index.html">Index</a>
<a href="page1.html">Page1</a>
<a href="page2.html">Page2</a>
</div>

<h1>Index</h1>
</body>

</html>

我正在构建我的 Web 应用程序,每个网页的顶部都有相同的导航栏。现在,如果您在我的示例中单击导航栏中的 page1,您将在 Page.html 上看到两个带有添加 Prev 和添加 Ext 的按钮。

如果您单击添加上一页,页面将在第 1 页之前的导航栏中附加自己。

如果您单击添加分机,页面将在第 1 页之后的导航栏中附加自身。

如何将附加元素(例如 page1-ext/page-prev)保存到 localStorage,这样当我导航到第 2 页或刷新页面时,它会保持可见或附加状态!

我感谢每一个提示或解决方案!干杯!

最佳答案

使用 window.localStorage.setItem在 localStorage 中设置项目。另外,我搬了<script src="script.js"></script>在 body 的末尾,否则我会得到奇怪的行为。

index.html:

<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="style.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
</head>
<body>
<h1>Hello Plunker!</h1>

<div id="myHeader">
<a href="index.html">Index</a>
<a id="t1" href="page1.html">Page1</a>
<a id="t2" href="page2.html">Page2</a>
</div>

<h1>Index</h1>

<script src="script.js"></script>
</body>
</html>

page1.html:

<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="style.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
</head>
<body>
<h1>Hello Plunker!</h1>

<div id="myHeader">
<a href="index.html">Menu</a>
<a id="t1" href="page1.html">Page1</a>
<a id="t2" href="page2.html">Page2</a>
</div>

<h1>Page1</h1>
<button id="addPrev"> Add Prev </button>
<button id="addExt"> Add Ext </button>

<script src="script.js"></script>
</body>
</html>

page2.html:

<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="style.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
</head>
<body>
<h1>Hello Plunker!</h1>

<div id="myHeader">
<a href="index.html">Menu</a>
<a id="t1" href="page1.html">Page1</a>
<a id="t2" href="page2.html">Page2</a>
</div>

<h1>Page2</h1>

<script src="script.js"></script>
</body>
</html>

script.js:将所有事件移至此处(一处)。单击按钮,添加内容并设置 localStorage 项。加载此文件时,检查是否设置了 localStorage 项目(在本例中为 == 1 )。如果是,则自动显示菜单项:

$("#addPrev").on("click", function() {
$('#1').after('<a href="page1-ext.html">Page1-Ext</a>');
window.localStorage.setItem('previous', 1);
});

$("#addExt").on("click", function() {
$('#1').after('<a href="page1-ext.html">Page1-Ext</a>');
window.localStorage.setItem('next', 1);
});

if (window.localStorage.getItem('previous') == 1) {
$('#t1').before('<a href="page1-prev.html">Page1-Prev</a>');
}

if (window.localStorage.getItem('next') == 1) {
$('#t1').before('<a href="page1-prev.html">Page1-Prev</a>');
}

但是,要注意一件(负面的)事情,您必须写 <a id="t1" href="page1.html">Page1</a><a id="t2" href="page2.html">Page2</a>在每个页面中显示这些菜单链接,否则,您将看不到它们。

关于javascript - 单击按钮时在导航栏中追加元素并将追加的元素保存到 localStorage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49720745/

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