黑暗模式是一个越来越受欢迎的主题,它可以成为你整体用户体验的核心部分。能够根据环境或上下文在这些模式之间切换,有助于您轻松高效地设计网站。
在本文中,我们将看到一个新的用于Bootstrap 5/4框架的jQuery/Vanilla JS暗模式插件,它可以在网页上使用切换按钮在暗模式和亮模式之间切换。这是通过在单击暗模式切换按钮时覆盖Bootstrap框架中引入的默认CSS变量来实现的。
它还能够获得用户喜欢的配色方案,并自动将深色或浅色模式应用于您的网站。
1.在Bootstrap框架中加载bs darkmode插件的文件。
- <!-- jQuery Is Optional -->
- <script src="/path/to/cdn/jquery.slim.min.js"></script>
- <!-- Bootstrap Framework -->
- <link rel="stylesheet" href="/path/to/cdn/bootstrap.min.css" />
- <script src="/path/to/cdn/bootstrap.bundle.min.js"></script>
- <!-- bs-darkmode's Stylesheet -->
- <link href="css/bs-darkmode.min.css" rel="stylesheet" />
- <!-- jQuery Version -->
- <script src="js/bs-darkmodejquery.min.js"></script>
- <!-- Vanilla JS Version -->
- <script src="js/bs-darkmode.ecmas.min.js"></script>
2.要创建一个基本的暗模式切换,只需添加数据插件=“bsdarkmode”
属性指定给您指定的按钮,插件将执行其余操作。
- <button class="btn btn-primary" data-plugin="bsdarkmode"></button>
3.您也可以通过JavaScript初始化暗模式切换程序。
- <button class="btn btn-primary" id="example"></button>
- $(function () {
- $('#example').bsDarkmode({
- // options here
- });
- })
4.然后,您可以覆盖暗模式和亮模式的默认CSS变量,如下所示。所有可用的CSS变量:
- <button class="btn btn-primary"
- data-plugin="bsdarkmode"
- data-lightvars='{"primary":"#ffffff","secondary":"#000000"}'
- data-darkvars='{"primary":"#000000","secondary":"#ffffff"}'>
- </button>
- // OR Via JavaScript
- $(function () {
- $('#example').bsDarkmode({
- lightvars: '{
- "primary":"#000000",
- "secondary":"#ffffff",
- // ...
- }',
- darkvars: '{
- "primary":"#ffffff",
- "secondary":"#000000"
- // ...
- }'
- });
- })
5.设置初始状态:暗或亮。
- <button class="btn btn-primary"
- data-plugin="bsdarkmode"
- data-state="dark">
- </button>
- // OR Via JavaScript
- $(function () {
- $('#example').bsDarkmode({
- state: false,
- });
- })
6.自定义按钮中显示的标签。
- <button class="btn btn-primary"
- data-plugin="bsdarkmode"
- darklabel="HTML Label Here"
- lightlabel="HTML Label Here">
- </button>
- // OR Via JavaScript
- $(function () {
- $('#example').bsDarkmode({
- lightlabel: 'HTML Label Here',
- darklabel: 'HTML Label Here',
- });
- })
7.设置插件在CSS变量之间切换的根元素。
- <button class="btn btn-primary"
- data-plugin="bsdarkmode"
- data-root="#container">
- </button>
- // OR Via JavaScript
- $(function () {
- $('#example').bsDarkmode({
- root: '#container',
- });
- })
8.确定是否使用cookie存储当前状态。默认值:false。
- $(function () {
- $('#example').bsDarkmode({
- allowsCookie: true,
- });
- })
9.API方法。
- // initialize the plugin
- $('#example').bsDarkmode();
- // enable Light Mode
- $('#example').bsDarkmode('light');
- // enable Dark Mode
- $('#example').bsDarkmode('dark');
- // toggle between Dark Mode and Light Mode
- $('#example').bsDarkmode('toggle');
- // enable cookies (true/false)
- $('#example').bsDarkmode('setCookieAutorization', status)
9.当模式改变时执行一个功能。
- $('#example').change(function() {
- // do something
- })
v2.0.0版本(2022-09-12)
v1.2.0 (2022-08-31)
v1.1.1 (2022-08-22)
1.0版(2022-08-14)