Categories: CSSScriptWeb Design

Customizable Context Menus and Dropdowns With Vanilla JS – Tiny Popup Menu

A lightweight JavaScript popup menu library to easily add context menus or dropdowns that open on click or right click of a trigger element.

The popup isn’t just limited to menu items. You can insert any custom elements, making it adaptable to various use cases.

Table of Contents

Toggle

How to use it:

1. Import the Tiny Popup Menu’s JavaScript and Stylesheet.

<link

Sponsored
rel="stylesheet" href="/dist/css/tiny-popup-menu.css" /> <script src="/dist/tiny-popup-menu.js"></script>

2. Initiate a new instance of TinyPopupMenu and define your menu items. These items should be structured as a JavaScript array of objects as follows:

const myMenu = new TinyPopupMenu({
      menuItems: [
        {
          content: 'Menu Item 1',
          callback: () => alert('You Clicked Item 1')
        },
        {
          content: 'Menu Item 2',
          callback: () => alert('You Clicked Item 2')
        },
        '-', // separator
        {
          content: 'Menu Item 3',
          callback: () => alert('You Clicked Item 3')
        },
        // ... more items here
      ]
});

3. Enable a button to toggle the popup menu.

myTogglerButton.onclick = function (event) {
  myMenu.open(event);
};

4. Or attach the popup menu to a toggle button programatically.

myMenu.addToggler(myTogglerButton, {
  // options
}, 
'click' // custom trigger event
);

5. All default options.

const myMenu = new TinyPopupMenu({

      // or 'top'
      position: "bottom",

      // additional CSS class
      className: '',

      // only one popup menu is activated at a time
      autoClose: true,

      // shows arrow indicator
      arrow: true,

      // custom margin
      margin: 5,

      // custom x/y offsets
      offset: {
        x: 0,
        y: 0
      },

      // menu items here
      menuItems: [],

      // prevents the native click event
      stopClick: true
      
});

6. Events.

Sponsored
// triggered on open
myMenu.on('open', () => console.log('Open event'));

// triggered on close
myMenu.on('close', () => console.log('Close event'));

// triggered on update
myMenu.on('updateposition', () => console.log('Update position event'));

Changelog:

v1.0.11 (05/14/2024)

  • Improvements in autoClose, fixed some typos

v1.0.10 (08/03/2024)

  • Improved types, added addSeparator helper function

v1.0.9 (09/14/2023)

  • Added visibility:hidden to submenu

v1.0.8 (09/14/2023)

  • Added hoverable submenu option
  • Improved postcss configuration
  • Improved some scss variables

The post Customizable Context Menus and Dropdowns With Vanilla JS – Tiny Popup Menu appeared first on CSS Script.

rssfeeds-admin

Share
Published by
rssfeeds-admin

Recent Posts

A Look Back, Feb. 26

50 Years Ago A number of area residents attended a slide presentation by the Northampton…

12 minutes ago

Photos: Steering toward service

Jameson Fournier,11, a member of the Western Mass 4-H Ox teamsters, leads his two steers,…

13 minutes ago

McGovern, Neal slam Trump’s State of the Union address

President Donald Trump addressed the nation in his State of the Union Tuesday night —…

13 minutes ago

Hadley schools face $754K shortfall; potential staff cuts

HADLEY — Significant reductions to teaching staff and education support professionals at the Hadley Elementary…

13 minutes ago

Photo: Snowblower fix

The post Photo: Snowblower fix appeared first on Daily Hampshire Gazette.

13 minutes ago

Along Route 202: Donations get pickleball courts back on track

SOUTH HADLEY — The town has slid out of its pickleball court pickle. Over the…

13 minutes ago

This website uses cookies.