我工作在一个D8 (8.6),我想隐藏在我的菜单上的一些项目,这取决于路由解析到这个链接。
当我试图访问路由时,我得到一个403错误,并按预期工作,但菜单中的链接仍然显示。
我创建了一个自定义create接口,它根据我的规则返回AccessResult::rules ()或denied()。
是否有防止链接显示在主菜单上的核心解决方案,或者我必须在JS中处理它?
我的CustomAccessCheck:
class CustomAccessCheck implements AccessInterface
{
public function access(AccountInterface
感谢你们,我的菜单现在可以使用了,因为子菜单显示的时间足够长,用户可以将鼠标移到链接上。不幸的是,它并不完全正确。即使用户将鼠标放在子菜单上,该子菜单也会关闭。我已经添加了下面的HTML代码以及修改后的js文件代码。我认为问题出在$('.myMenu > li').bind('mouseout',closeSubMenu);行中。也许另一种选择是在调用openSubMenu函数后有一个超时延迟,以便在子菜单隐藏之前至少给用户8秒左右的时间。这对我来说是一个可以接受的解决方案。
<!-- HTML menu code below -->
<
我对JavaScript非常陌生,更不用说JQuery了,尽管我一直在慢慢地使用它,但我遇到了一个悬停效果的问题。我正在使用一个叫lavalamp的插件,它给我带来了一段时间关于多维菜单的问题。我已经尝试过.noLava,但没有成功,所以我决定在sub UL层悬停后,尝试隐藏跟踪LI元素(因为在dub层悬停的那一刻,跟踪LI会跟随在不自然的地方)。
$(" #top_menu ul li ul").hover(function(){
$('li.backLava').hide(300)
},
function(){
我在一些使用jquery的下拉菜单上找到了一个教程。它工作得很好,但我想稍微调整一下。而不是使用悬停隐藏菜单,我希望有显示菜单的相同按钮,当它再次被按下时隐藏它。因此,同一个按钮必须同时隐藏和显示下拉菜单。我使用的脚本:
$(document).ready(function () {
$("ul.subnav").parent().append("<span></span>"); //Only shows drop down trigger when js is enabled - Adds empty span
document.addEventListener("DOMContentLoaded", () => {
let menuBtn = document.querySelector("#menu-button");
let menu = document.querySelector("#menu");
let menuItems = menu.getElementsByTagName("li");
menuBtn.addEventListener("click", e => {
我正在尝试通过CSS媒体查询从我的‘桌面’站点创建一个移动网站。
我有一个简单的下拉菜单(桌面),可以转换为一个下拉菜单(移动)。css在浏览器宽度超过768px的任何位置为桌面加载,移动下拉菜单在767px以下的任何位置加载。
问题是下拉菜单需要一个js文件才能正常工作。js文件强制隐藏包含菜单的div。因此,浏览器宽度高达767px时,下推效果很好,在768px时,桌面导航是不可见的。
我刚接触JavaScript和Jquery,但我已经尝试过用我最少的知识让它们有效地运行。我需要它是尽可能简单,因为该网站必须是尽可能最小。
目前,这是我获得的最接近正常运行的功能:
function hi