隐藏主导航,仅在特定分类页面上显示
我正在处理的网站有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>
我在做什么错?
试试这个
$(document).ready(function() {
$("#CSmainMenu").hide();
if (window.location.pathname.indexOf("/category1/") !== -1)
{
$("#CSmainMenu").show();
}
if (window.location.pathname.indexOf("/category2/") !== -1)
{
$("#CSmainMenu2").show();
}
});
这个作品,但我如何隐藏#CSmainMenu2在加载时,我添加一个逗号这样$(document).ready(function(){$(“#CSmainMenu”,“#CSmainMenu2 “).hide(); if(window.location.pathname.indexOf(”/ category1 /“)!== -1){$(”#CSmainMenu“)。show();} if(window.location.pathname .indexOf(“/ category2 /”)!== -1){$(“#CSmainMenu2”)。show();}}); – Jc0807 2014-11-23 21:58:21
编号将函数分隔线,如下所示: $(“#CSmainMenu”)。hide(); $(“#CSmainMenu2”)。hide(); – 2014-11-23 21:59:14
我给了这个去,但只隐藏#CSmainMenu,请看我下面的评论。 – Jc0807 2014-11-23 23:01:54
如果你的路径名是正确的,我想你只是搞砸了大括号。 尽量把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>
<script type="text/javascript">
(function(){
$("#CSmainMenu").hide();
if (window.location.pathname.replace('/',"") =="caroline-sills") { $("#CSmainMenu").show(); }
})();
</script>
而不是做DOM通过JS操作你不能添加一个类到每个特定页面的正文,并通过CSS隐藏/风格的导航?这将是一个更快,更有效的方式。
别介意我得到它的工作,我想通了,有一个“ - ”从第二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>
再次感谢
这段代码隐藏菜单? 我的意思是隐藏作品? 如果是的话,我会给你的答案 – Milad 2014-11-23 21:26:27