我需要根据窗口位置网址显示隐藏导航。
如果有人可以尽快帮忙。感谢您的帮助。谢谢。
我尝试了以下方法,但它没有用。
<script>
$(document).ready(function(){
var locate = window.location;
$('#yahooNav, #googleNav').hide();
if (locate.indexOf("hrpassport-dev.bns") == 0) {
$('#googleNav').show();
} else if (locate.indexOf("hrpassport-uat.bns") == 0) {
$('#yahooNav').show();
}
});
</script>
</head>
<body>
<ul id="googleNav">
<li>
<a href="http://www.google.com/glo/glo/english/ss/benefits/highlights/player.html" title="2014 Plan Highlights" target="_blank">2014 Plan Highlights </a>
</li>
<li>
<a href="http://www.google.com/glo/glo/english/ss/benefits/enrolments/player.html" title="How to Prepare for Enrolment" target="_blank">How to Prepare for <br />Enrolment</a>
</li>
</ul>
<ul id="yahooNav">
<li>
<a href="http://www.yahoo.com/glo/glo/english/ss/benefits/highlights/player.html" title="2014 Plan Highlights" target="_blank">2014 Plan Highlights </a>
</li>
<li>
<a href="http://www.yahoo.com/glo/glo/english/ss/benefits/enrolments/player.html" title="How to Prepare for Enrolment" target="_blank">How to Prepare for <br />Enrolment</a>
</li>
</ul>
</body>
</html>
答案 0 :(得分:0)
使用
var locate = window.location.href;
而不是var locate = window.location;
没有 window.location.indexOf
,因为location
没有方法indexOf
。其中window.location.href
为您提供当前窗口的URL地址字符串。
编辑:
此外,locate.indexOf("hrpassport-dev.bns") == 0
会检查网址是否以文字开头,您检查过这个locate.indexOf("hrpassport-dev.bns") > -1
是否包含在网址中。
答案 1 :(得分:0)
答案 2 :(得分:0)
问题是双重的,其中一个已经提到:window.location.href
而不是window.location
。第二个是使用indexOf
:
if (locate.indexOf("hrpassport-dev.bns") > -1) {
$('#googleNav').show();
} else if (locate.indexOf("hrpassport-uat.bns") > -1) {
$('#yahooNav').show();
}
indexOf
会返回所提供字符串的位置(MDN documentation以显示我的意思),除非您的window.location.href
以该字符串开头,否则它将会不是真的。通过将其设置为> -1
,您基本上会说“它是否存在于字符串中”。