gpt4 book ai didi

javascript - 如何在页面重新加载时保持菜单状态

转载 作者:太空狗 更新时间:2023-10-29 13:51:05 25 4
gpt4 key购买 nike

我有以下代码片段,想知道是否有可能更新它以实现此菜单行为:

第 1 步。鼠标悬停在 Link 1 ----> 它将向右平移 1.5em(已设置);

第 2 步。在链接 1 上单击 ----> 菜单按钮将保持固定在已翻译的位置(完成,特别感谢 @guest271314)在页面也会重新加载,直到单击新的菜单按钮(尚未设置)并加载另一个页面

注意:下一个/上一个按钮代码部分,保持不变(或者如果必须,可以进行编辑,以保持功能)。

注意 2:我不得不提的是,最终解决方案将在 wordpress 中实现,而不是在静态 html 站点页面中实现。

$(function () {
$('nav ul li').click(function (e) {
//Set the aesthetics (similar to :hover)
$('nav ul li')
.not(".clicked").removeClass('hovered')
.filter(this).addClass("clicked hovered")
.siblings().toggleClass("clicked hovered", false);
}).hover(function () {
$(this).addClass("hovered")
}, function () {
$(this).not(".clicked").removeClass("hovered")
});

var pageSize = 4,
$links = $(".pagedMenu li"),
count = $links.length,
numPages = Math.ceil(count / pageSize),
curPage = 1;

showPage(curPage);

function showPage(whichPage) {
var previousLinks = (whichPage - 1) * pageSize,
nextLinks = (previousLinks + pageSize);
$links.show();
$links.slice(0, previousLinks).hide();
$links.slice(nextLinks).hide();
showPrevNext();
}

function showPrevNext() {
if ((numPages > 0) && (curPage < numPages)) {
$("#nextPage").removeClass('hidden');
$("#msg").text("(" + curPage + " of " + numPages + ")");
} else {
$("#nextPage").addClass('hidden');
}
if ((numPages > 0) && (curPage > 1)) {
$("#prevPage").removeClass('hidden');
$("#msg").text("(" + curPage + " of " + numPages + ")");
} else {
$("#prevPage").addClass('hidden');
}
}

$("#nextPage").on("click", function () {
showPage(++curPage);
});
$("#prevPage").on("click", function () {
showPage(--curPage);
});

});
.hidden {
display: none;
}

body {
font: normal 1.0em Arial, sans-serif;


}


nav.pagedMenu {
color: red;
font-size: 2.0em;
line-height: 1.0em;
width: 8em;
position: fixed;
top: 50px;
}

nav.pagedMenu ul {

list-style: none;
margin: 0;
padding: 0;
}

nav.pagedMenu ul li {
height: 1.0em;
padding: 0.15em;
position: relative;
border-top-right-radius: 0em;
border-bottom-right-radius: 0em;
-webkit-transition:
-webkit-transform 220ms, background-color 200ms, color 500ms;
transition: transform 220ms, background-color 200ms, color 500ms;
}


nav.pagedMenu ul li.hovered {
-webkit-transform: translateX(1.5em);
transform: translateX(1.5em);
}
nav ul li:hover a {
transition: color, 1200ms;
color: red;
}
nav.pagedMenu ul li span {
display:block;
font-family: Arial;
position: absolute;
font-size:1em;
line-height: 1.25em;
height:1.0em;
top:0; bottom:0;
margin:auto;
right: 0.01em;
color: #F8F6FF;

}

a {
color: gold;
transition: color, 1200ms;
text-decoration: none;
}

#pagination, #prevPage, #nextPage {
font-size: 1.0em;
color: gold;
line-height: 1.0em;
padding-top: 250px;
padding-left: 5px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<nav class="pagedMenu">
<ul style="font-size: 28px;">
<li class="" style="margin-bottom: 5px;"><a href="#">Link 1</a></li>
<li class="" style="margin-bottom: 5px;"><a href="#">Link 2</a></li>
<li class="" style="margin-bottom: 5px;"><a href="#">Link 3</a></li>
<li class="" style="margin-bottom: 5px;"><a href="#">Link 4</a></li>
<li class="" style="margin-bottom: 5px;"><a href="#">Link 5</a></li>
<li class="" style="margin-bottom: 5px;"><a href="#">Link 6</a></li>
<li class="" style="margin-bottom: 5px;"><a href="#">Link 7</a></li>
<li class="" style="margin-bottom: 5px;"><a href="#">Link 8</a></li>
<li class="" style="margin-bottom: 5px;"><a href="#">Link 9</a></li>
<li class="" style="margin-bottom: 5px;"><a href="#">Link 10</a></li>
<li class="" style="margin-bottom: 5px;"><a href="#">Link 11</a></li>
<li class="" style="margin-bottom: 5px;"><a href="#">Link 12</a></li>
</ul>
</nav>

<div id="pagination">
<a href="#" id="prevPage" class="hidden">Previous</a>&nbsp;&nbsp;
<a href="#" id="nextPage" class="hidden">Next</a>
<span id="msg"></span>
</div>

LE:关于@Lars 评论:

此状态将应用于每个所有用户(我认为?,这是最好的选择,只要菜单将显示在每个页面上,不受浏览器类型或 session 的限制);

关于存储位置,将状态保存在本地、服务器端不是问题,但如果我有一些利弊来做出正确的决定,那就太好了;

最后,如果这有帮助,为了查看全貌,您可以使用此实时链接 as example ;有一个类似的菜单,上面描述了关于状态,如果有一个模型可以在这里实现,我会很高兴找到它。

最佳答案

您可以将菜单(和页面)状态保存在 localStorage 变量中。在页面加载时检查变量是否存在并设置正确的链接/页面状态。

https://github.com/julien-maurel/jQuery-Storage-API

关于javascript - 如何在页面重新加载时保持菜单状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32687806/

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