我是初学者。我想在我的网站的特定页面上隐藏菜单项hover上的子菜单类。
e.g。如果url是www.mysite.it/login,则在登录(菜单项)上隐藏.submenu。
答案 0 :(得分:0)
为了识别您所在的页面,可能更容易在body类中输出itemId参数,因此请编辑模板主文件(通常为/templates/something/index.php
)并找到<body
标记,然后改变它:
<body class="your other classes here <?php
$app = JFactory::getApplication();
$menu = $app->getMenu()->getActive()->id;
echo "pageid-$itemId"
?>"
这将呈现为
<body class="your other classes here pageid-1302">
然后,假设您希望将此修复程序引入的页面具有itemId 1302,您可以根据自定义css规则的要求使用它来定位导航:
body.pageid-1302 nav.main > ul > li:nth-child(3):hover > ul > li:nth-child(2) {
display:none;
}
(注意:这只是一个例子,我不知道你的课程,你必须找到只针对子菜单的正确路径。 另外,请确保使用移动设备进行测试,因为有时候课程也不同。
此解决方案不使用脚本;如果你想隐藏的子菜单是徘徊的项目的孩子,它将很容易工作;但是,如果该项目在其他地方,您确实需要一个脚本。在这种情况下,您需要将一个函数附加到悬停事件,并采取相应的行动:假设jQuery可用:
jQuery(function() {
// now the document is loaded
jQuery('.firstmenuselector').on('hover',function() {
// the user hovered the element;
jQuery('.submenuselector').hide();
},function() {
// the user exited the element;
jQuery('.submenuselector').show();
});
});
最后,您可能希望在所涉及的菜单项中添加一个类,因此使用css或jQuery选择器进行定位会更容易。