Hover Delay
All menus provided by Accessible Menu support a configurable hover delay. The hover delay is the amount of time, in milliseconds, that a user must hover over a menu toggle before the menu will open.
This can be useful for preventing menus from opening when a user accidentally hovers over a menu toggle.
Note
The hover delay is only used when the menu is in hover on or hover dynamic mode.
// DisclosureMenu is used in this example, but all menus support the hover delay.
new DisclosureMenu({
menuElement: document.querySelector("nav ul"),
hoverType: "on",
hoverDelay: 300, // Default: 250.
});Enter Delay
If you need to customize only the delay before a menu opens, you can use the enterDelay option. This will override whatever the hoverDelay option is set to when it comes to pointerenter events.
This can be useful for creating a menu with a reduced delay to open a menu when a user hovers over a menu toggle, but still delay closing of the menu by the standard amount of time (250ms) when a user hovers off the menu.
// DisclosureMenu is used in this example, but all menus support the hover delay.
new DisclosureMenu({
menuElement: document.querySelector("nav ul"),
hoverType: "on",
enterDelay: 100, // Default: -1.
});Setting enterDelay to -1 will cause the menu to use the hoverDelay option instead.
Leave Delay
If you need to customize only the delay before a menu closes, you can use the leaveDelay option. This will override whatever the hoverDelay option is set to when it comes to pointerleave events.
This can be useful for creating a menu with an increased delay to close a menu when a user hovers off a menu, but still open the menu by the standard amount of time (250ms) when a user hovers over the menu toggle.
// DisclosureMenu is used in this example, but all menus support the hover delay.
new DisclosureMenu({
menuElement: document.querySelector("nav ul"),
hoverType: "on",
leaveDelay: 500, // Default: -1.
});Setting leaveDelay to -1 will cause the menu to use the hoverDelay option instead.