Lifetime updates on every purchase Support replies within 24 hours Secure checkout via Gumroad 8,500+ sales since 2016

Layer Menu

Overview

A drill-down menu for any number of levels. Each submenu slides in as a new layer, and going back plays the same transition in reverse.

Features

Zero dependencies

Plain JavaScript, no jQuery, no icon fonts. About 4 KB minified + gzip.

Plain markup

A nested <ul>, so it works with any CMS, including WordPress.

12 transitions + your own

Built on the Web Animations API. Pass any keyframes to design a custom one.

Smooth height

The menu box resizes between short and long levels.

Accessible

Arrow keys, Home / End, Escape, focus management, prefers-reduced-motion.

Opens the current page

Starts on the level that contains aria-current="page" or .current-menu-item

Buy with confidence

6mo Support included Extendable to 12 months
∞ Lifetime updates No renewals or subscriptions
✓ Reviewed Quality-checked by Envato

Specifications

Highlights

Browsers

  • Chrome
  • Firefox
  • Safari
  • Edge

Files included

  • JS
  • CSS
  • SCSS

Changelog

2.0.0Latest · Oct 7, 2026 Show changelogHide changelog
  1. 2.0.0 Latest
    • Newblur, stack, flip animations, none, custom keyframes, LayerMenu.animations registry
    • Newsmooth height (autoHeight), clip, showTitle, {parent} in backText
    • NewopenActive (opens the current page's level), keyboard navigation, focus management, ARIA, reduced motion
    • Newopen, back, reset, update, level, path, events, data-attribute auto-init, TypeScript definitions
    • NewBEM class names with the vlt- prefix, SCSS source with !default variables