我是javascript的新手,并且有一个链接列表作为菜单,最后一个按钮是一个下一个按钮,谁将根据你在哪个页面或#hash进入下一个链接目前。
<li><a class="menu" href="#home"><div>Home</a></li>
<li><a class="menu" href="#work">Work</a></li>
<li><a class="menu" href="#about">About</a></li>
<li><a class="menu" href="#">Next</a></li>
因此,如果您在工作页面上,则下一个按钮会将您发送到about页面,如果您在about页面上,它会将您发送到主页。
我想它与数组和一些javascript有关,因为它必须现场工作,但不知道该怎么做。
希望有人可以解释或给我一个提示。
提前致谢!
答案 0 :(得分:1)
这很简单,不需要任何额外的数组:
$("#next").on("click", function (e) {
e.preventDefault();
var currentLink = location.hash ? $("a.menu[href=" + location.hash + "]") : null,
next = currentLink ? currentLink.parent().next() : null;
if (!next || next.children().attr("id") == "next") {
next = $("a.menu").first().parent();
}
if (next) {
location.hash = next.children().attr("href");
}
});
(我已经给出了“下一个”链接ID next
以使其易于定位。)
它的作用:
如果location.hash
包含值,则会尝试查找a.menu
元素与href
。{
如果发现它,它将获得下一个LI
。
如果找不到任何内容,或找到的LI
包含a:next
链接,则会获得第一个LI
。
最后,它会将找到的href
(如果有)第一个孩子的LI
值分配给location.hash
。
请在此处查看全屏版本以实际查看哈希更改:http://jsfiddle.net/ve9qt/3/show/和http://jsfiddle.net/ve9qt/3/以获取完整代码。