有一个针对不支持
我对下面的函数做了一个一般的散列。基本上将这个功能链接到按钮的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
的浏览器的示例实现