我的eform顶部有一个导航栏,它会跳到下一个和上一个div(页面/部分),但前提是该div是可见的。除非使用复选框激活,否则隐藏div。因此,导航栏上的下一个按钮需要始终将您带到下一个可用的div。
以下代码适用于第一个按钮,但这些导航栏显示在每个部分的顶部,因此下一部分有一个下一个按钮,它运行相同的功能(这不起作用)我正在努力驱逐自己如果我没有意义,请大声喊叫。这是我的代码。
function showNext(){
var pages = [document.getElementById("page2"),document.getElementById("page3")];
var next = ["page2marker","page3marker"];
for (var i=0; i<pages.length; i++){
if(pages[i].style.display == "block"){
window.location.hash = next[i];
}
}
}
我可以修改此功能,使其适用于所有按钮。即总是导航到下一个可见的div?我想我可能错过了一个技巧和一大堆信息,但看看你的想法,任何想法?
非常感谢
答案 0 :(得分:0)
您可以使用jQuery和jQuery.next
函数 - http://api.jquery.com/next/来实现此目的。
对于像这样的一组html:
<nav><a class="showNext">Show Next</a></nav>
<div class="content" style="display:none">I'm hidden</div>
<div class="content">I'm Visible</div>
您可以使用以下内容:
$('.showNext').bind('click', function(e) {
e.stopPropagation();
e.preventDefault();
window.location.hash = $(this).next('.content:visible').attr('id') + 'marker';
});