如何将Window.Location.Hash与数组中包含的列表进行比较以确定“当前位置”?
var exampleArray = ["#home", "#support", "#about"];
页面上还有其他一些锚点,但我只希望那些锚点在导航窗格中更改“当前位置”。
答案 0 :(得分:1)
最简单的可能是使用Array.prototype.indexOf
,如下所示:
var hash = window.location.hash,
anchorList = ['#index', '#support'];
if( anchorList.indexOf( hash ) > -1 ){
// anchor is in list, do your thing ...
}
不幸的是,这仅适用于IE9及以上(显然是Chrome,SF,FF)。如果您必须支持IE8(甚至更少),您可以尝试使用polyfill,for循环或使用具有_.indexOf
帮助程序的http://underscorejs.org/。