我工作的网站有3个品牌,因此需要3套不同的导航。
我想要做的是在每个类别页面上显示特定的菜单ID。
E.g。
#CSmainMenu to display only when its on www.site.com/caroline-sills/
#SillsmainMenu to display only when its on www.site/com/sills/
#ClopemainMenu to display only when its on www.site/calliope/
对于网站的其余部分,这些3个菜单在别处无法看到,例如主页,关于以及任何其他静态页面。
我试过设置一个,但我没有运气。
这是我的代码:
<script type="text/javascript">
$(document).ready(function() {
$("#CSmainMenu").hide();
});
if (window.location.pathname.indexOf("/caroline-sills/") == 0) {
$("#CSmainMenu").show();
}
</script>
我做错了什么?
答案 0 :(得分:0)
如果你的路径名是正确的,我想你只是搞砸了大括号。 尝试将if语句放在jquery.ready函数中,就像我在示例中所做的那样
$(document).ready(function() {
$("#CSmainMenu").hide();
if (window.location.pathname.indexOf("/js") == 0) { $("#CSmainMenu").show(); }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="CSmainMenu">CSMainMenu</div>
答案 1 :(得分:0)
<script type="text/javascript">
(function(){
$("#CSmainMenu").hide();
if (window.location.pathname.replace('/',"") =="caroline-sills") { $("#CSmainMenu").show(); }
})();
</script>
答案 2 :(得分:0)
试试这个
$(document).ready(function() {
$("#CSmainMenu").hide();
if (window.location.pathname.indexOf("/category1/") !== -1)
{
$("#CSmainMenu").show();
}
if (window.location.pathname.indexOf("/category2/") !== -1)
{
$("#CSmainMenu2").show();
}
});
答案 3 :(得分:0)
不是通过JS进行DOM操作,你可以不为每个特定页面添加一个类,并通过CSS隐藏/设置导航样式吗?这将是一种更快更有效的方法。
答案 4 :(得分:0)
没关系我让它工作,我发现有一个&#34; - &#34;从第二个pathname.indexOf值
中丢失 <script type="text/javascript">
jq(document).ready(function() {
jq("#CSmainMenu").hide();
jq("#SillsmainMenu").hide();
if (window.location.pathname.indexOf("/caroline-sills/") !== -1)
{
jq("#CSmainMenu").show();
}
if (window.location.pathname.indexOf("/sills/") !== -1)
{
jq("#SillsmainMenu").show();
}
});
</script>
再次感谢