我有以下代码片段,想知道是否有可能通过更新来实现此菜单行为:
步骤1.在鼠标悬停 链接1 -—>上,它将转换为1.5em到右侧(已设置);
第2步。在 链接1上, 单击---->菜单按钮也将保持在 页面重新加载时 已经平移的位置) ,直到单击新菜单按钮 (未设置)为止 ), 然后加载另一页 。
注意:“下一个/上一个”按钮的“代码”部分保持不变(或必须编辑,以保持其功能)。
note2:最后,我不得不提到,该解决方案将在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>
<a href="#" id="nextPage" class="hidden">Next</a>
<span id="msg"></span>
</div>
LE:关于@Lars评论:
此状态将应用于 所有用户 (我认为?,这是最好的选择,只要菜单将显示在每个页面上,而不受浏览器类型或会话的限制);
另外,关于存储位置,在服务器端本地保存状态不是问题,但是如果我有一些赞成/反对意见,可以做出正确的决定,那将会很好。
最后,如果有帮助,为了查看整个图片,您可以使用此实时链接作为示例;这里有一个与上面描述的菜单类似的菜单,并且关于状态,如果这里有可以实现的模型,我会很高兴找到它。
您可以将菜单(和页面)状态保存在localStorage变量中。在页面加载时,检查变量是否存在,并设置正确的链接/页面状态。
请考虑以下代码: 忽略所有axios请求: login.js 此页面通过将loggedIn更改为true并将currentUser更改为“fa”来更新GlobalContext。 profile.js 这将获取状态并记录它。 下面是reducer.js和globalcontext.js: 一切工作都很好,一旦我登录,我就会被重定向到主页,就像我应该做的那样,正确的状态正在被记录。 但是,一旦我刷新
我有一个链接。当用户单击此链接时,页面将被重新加载。我是这样做的。。。。。。 html JS 在控制器中,我使用了javascript,这对我来说似乎很糟糕。我怎么能用angularjs做
我想重新加载页面。我该怎么做?
我正在使用Angular UI路由器,希望重新加载当前状态并刷新所有数据/重新运行当前状态及其父级的控制器。 我有3个州级:directory.organisations.details 目录组织包含一个包含组织列表的表。单击表loads目录中的项目。组织。$StateParams传递项目ID的详细信息。因此,在详细信息状态下,我加载此项目的详细信息,编辑它们,然后保存数据。目前一切正常。 现在我
问题内容: 我正在使用Angular UI Router,并希望重新加载当前状态并刷新所有数据/为当前状态及其父级重新运行控制器。 我有3个状态级别: directory.organisations.details directory.organisations 包含一个带有组织列表的表。单击表中的一个项目将加载$ directoryParams传递该项目的ID的 directory.organi
我正在使用Ionic构建一个应用程序,但自从ios 9更新以来,我的代码每次都会被破坏。 这是我的代码,当用户单击“注销”时,它会启动一个函数,更改状态,然后刷新页面。 但现在我注意到我的$状态。go是一个异步和$窗口。地方重载()在转换完成之前启动。有什么方法可以在重新加载页面之前等待转换完成?