Dark Mode Switcheroo is a very simple CSS dark/light mode switcher with preferences saved via local storage and dynamic OS setup detection. Zero dependencies and only 500 bytes gzipped!
dark mode toggle button css, dark mode toggle css, day and night mode javascript, dark theme css template, how to make a dark mode html, bootstrap dark mode toggle
To Do
- Support more than two themes
- Best primer docs
- Add the onChange (or onToggle etc.) callback function passed as an option
How to make use of it:
1. Install and import it with NPM.
# Yarn $ yarn add @jakejarvis/dark-mode # NPM $ npm i @jakejarvis/dark-mode --save
import { init } from "@jakejarvis/dark-mode";
2. Or embrace the UMD model of the library on the web page.
<script src=â./dist/dark-mode.min.jsâ></script> <!â or use CDN: https://unpkg.com/@jakejarvis/dark-mode/dist/dark-mode.min.js â>
3. Define your individual darkish and lightweight themes within the CSS.
/* Light theme */ body.light { background-color: #fff; color: #222; } body.light a { color: #06f; } /* Dark theme */ body.dark { background-color: #222; color: #fff; } body.dark a { color: #fe0; }
4. Create a toggle button to change between Dark & Light themes.
<button class="dark-mode-toggle"> Toggle </button>
.dark-mode-toggle { padding: 1em; cursor: pointer; /* Hide the toggle initially if the user's JS is disabled: */ visibility: hidden; }
5. Initialize the library.
window.darkMode.init({ toggle: document.querySelector(".dark-mode-toggle"), classes: { light: "light", dark: "dark", }, default: "light", // default theme name storageKey: "dark_mode_pref", });
6. Callback features.
window.darkMode.init({ onInit: function (toggle) { toggle.style.visibility = "visible"; }, onChange: function (theme, toggle) { console.log("Theme is now " + theme); }, });
Simple CSS Dark Mode Theme Toggler In JavaScript, Dark Mode Switcheroo Plugin/Github
See Demo And Download
Official Website(jakejarvis): Click Here
This superior jQuery/javascript plugin is developed by jakejarvis. For extra advanced usage, please go to the official website.