使用数组有问题.一些和一般的代码散列.导航功能,以纠正div/section



我对下面的函数做了一个一般的散列。基本上将这个功能链接到按钮的onclick方法。这个想法是,如果下一个页面/div是可见的导航到那里,否则导航到下一个,等等。如果没有其他可见的页面(来自当前页面),则提醒用户。以防他们继续点击。

下面是我的代码:
function showNext(id){
var currPage = id.match(/d+/)-1;
var pages = [document.getElementById("page2"),document.getElementById("page3"),document.getElementById("page4")];
var next = ["page2marker","page3marker","page4marker"];
var valid = false;
for (var i=currPage; i<=pages.length; i++){
    var Icansee =  pages.some(function() { pages[i].style.display == "block"});
    if(Icansee){
        valid = true
    }
    if(valid){
        return window.location.hash = next[i];
    }
    if(!valid){
        alert("No other pages to navigate to");
    }
}
}

我知道我对数组some函数的使用是不正确的,还有很多其他的事情。我只需要朝正确的方向推一把。

编辑:刚刚意识到数组some是一个ECMAScript 5添加,不支持我正在使用的软件。所以我需要找到另一种方法来解决这个问题。什么好主意吗?

在https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/some

有一个针对不支持Array.prototype.some的浏览器的示例实现

最新更新