Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/Daniel-Hug/tabbed-panels

A declarative tabbed panels JS module
https://github.com/Daniel-Hug/tabbed-panels

Last synced: about 2 months ago
JSON representation

A declarative tabbed panels JS module

Awesome Lists containing this project

README

        

tabbed-panels: [Demo](http://daniel-hug.github.io/tabbed-panels/)
=============

A declarative tabbed panels JS module

- lightweight
- no dependencies
- no exports

## Use

1. Include **panels.js** and **panels.css**.

2. Wrap the tabs/buttons and their panels in a `.tabbed-panels` wrapper, and add a class of "**tab**" to each tab and "**panel**" to each panel:

```html



Tab 1
Tab 2



Panel 1




Panel 2




```

## Options

- To make panels closeable add a "**closeable**" class to the `.tabbed-panels` wrapper.
- To make panels hover over other page content add a "**hovering**" class to the `.tabbed-panels` wrapper. Combining the closeable and hovering classes will make the panels close when you click elsewhere on the page.
- To have a panel defaultly be open, add an "**active**" class to the panel, its tab, and its `.tabbed-panels` wrapper.

## Styling

You can use panels.css and/or your own custom CSS. Whenever a panel is open, the panel, its tab, and its `.tabbed-panels` wrapper all have an "**active**" class.

## Browser support
Requires `getElementsByClassName`, `classList`, `forEach`, and `filter`.