12下一页
返回列表 发帖
查看: 2462|回复: 12

利用chatgpt5分钟实现了网站的暗黑主题切换功能

63

主题

402

回帖

582

积分

应用开发者

贡献
10 点
金币
26 个
QQ
发表于 2023-3-26 23:51:28 | 显示全部楼层 |阅读模式


用的还是3.5版本的, 没有付费不能用最新版本,听说最新版更强大。
因为不会提问,问了很多个问题才得到想要的效果
这里我直接把贴出全部过程和效果图。

先上效果图,还不是很完美,有些细节还需要优化
效果图

mi.xcxgy.cn_forum.php (1).png mi.xcxgy.cn_forum.php.png mi.xcxgy.cn_forum.php_mod=viewthread&tid=61&extra=page=1 (1).png mi.xcxgy.cn_forum.php_mod=viewthread&tid=61&extra=page=1.png mi.xcxgy.cn_index.php(iPhone XR) (1).png mi.xcxgy.cn_index.php(iPhone XR).png

提问

  • 如何快速让网页支持暗黑模式
  • 怎么实现切换呢
  • 可以弄好看一点么
  • 怎么保存用户选择是否启用暗黑模式
  • 可以把check换成两个图标切换么 样式更美观一些
  • 用了你的代码 提示uncaught TypeError: Cannot read properties of null (reading 'addEventListener')
哈哈,能看到我提问了很多废话,其实有时候提问真的需要技巧,会提问也是一种能力
但是最终它还是给了我完整代码
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4.   <meta charset="UTF-8">
  5.   <title>Dark Mode Toggle</title>
  6.   <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css">
  7.   <style>
  8.     :root {
  9.       --background-color: #fff;
  10.       --text-color: #333;
  11.     }

  12.     .dark {
  13.       --background-color: #222;
  14.       --text-color: #fff;
  15.     }

  16.     body {
  17.       background-color: var(--background-color);
  18.       color: var(--text-color);
  19.     }

  20.     #dark-mode-toggle {
  21.       background: transparent;
  22.       border: none;
  23.       color: #333;
  24.       cursor: pointer;
  25.       font-size: 1.5rem;
  26.       position: fixed;
  27.       right: 20px;
  28.       top: 20px;
  29.       z-index: 9999;
  30.     }

  31.     #dark-mode-toggle i {
  32.       display: none;
  33.     }

  34.     #dark-mode-toggle.dark i:first-child {
  35.       display: block;
  36.     }

  37.     #dark-mode-toggle:not(.dark) i:last-child {
  38.       display: block;
  39.     }
  40.   </style>
  41. </head>
  42. <body>
  43.   <h1>Dark Mode Toggle</h1>
  44.   <p>This is a simple example of how to toggle dark mode using JavaScript and CSS.</p>
  45.   <button id="dark-mode-toggle">
  46.     <i class="fas fa-sun"></i>
  47.     <i class="fas fa-moon"></i>
  48.   </button>
  49.   <script>
  50.     var button = document.getElementById("dark-mode-toggle");
  51.     var theme = localStorage.getItem('theme'); // get saved theme, if any
  52.     if (theme) {
  53.       document.documentElement.classList.add(theme); // apply saved theme
  54.     }
  55.     button.addEventListener("click", function() {
  56.       document.documentElement.classList.toggle("dark");
  57.       var theme = document.documentElement.classList.contains('dark') ? 'dark' : '';
  58.       localStorage.setItem('theme', theme); // save current theme
  59.     });
  60.   </script>
  61. </body>
  62. </html>
复制代码


应用到dz模板


1、<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css">
这段代码是引入font-awesome图标,一般放在common/header.htm里
2、<style>...</style>代码是切换主题图标的css,放common/extend_common.css里
3、<button id="dark-mode-toggle">...</button>是切换主题图标的代码,放到你想显示的位置,我是放到common/header.htm导航栏的右侧
4、<script>...</script>是用来切换主题、图标及保存用户选择的主题的代码,放到common/footer.htm里的</body>之前,最后一个问题就是因为我放到了header导致了错误,ai纠正了我

我问:用了你的代码 提示uncaught TypeError: Cannot read properties of null (reading 'addEventListener')

AI:这个错误通常表示JavaScript代码尝试访问一个不存在的DOM元素。可能是因为DOM元素尚未加载到页面中,或者元素ID或类名错误。您可以检查以下内容:
         确保<button>元素具有正确的ID属性,即id="dark-mode-toggle"。
         确保您的JavaScript代码位于<body>元素的末尾,以确保在DOM元素加载完毕之后再运行代码。
         如果问题仍然存在,您可以在浏览器的开发者工具中打开控制台,查看更详细的错误信息。



mi.xcxgy.cn_forum.php_mod=forumdisplay&amp;fid=3 (1).png
mi.xcxgy.cn_forum.php_mod=forumdisplay&amp;fid=3.png
⭐️推荐插件
Uniapp小程序和APP
所有插件打包

⭐️推荐模板
美化APP手机版
小米社区
回复

使用道具 举报

s77

6

主题

70

回帖

113

积分

渐入佳境

贡献
0 点
金币
19 个
发表于 2023-3-27 15:06:31 | 显示全部楼层
学习学习。
回复

使用道具 举报

2

主题

16

回帖

25

积分

初学乍练

贡献
0 点
金币
4 个
发表于 2023-3-27 16:30:34 | 显示全部楼层
谢谢谢谢谢寻寻
回复 支持 反对

使用道具 举报

头像被屏蔽

0

主题

193

回帖

199

积分

禁止发言

贡献
0 点
金币
5 个
QQ
发表于 2023-3-27 21:06:29 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

4

主题

62

回帖

77

积分

渐入佳境

贡献
0 点
金币
9 个
发表于 2023-3-27 22:06:14 | 显示全部楼层
以后都不会有站长了
4K电影下载 www.4ktt.com
魔爪论坛 www.91mz.cc
回复 支持 反对

使用道具 举报

3

主题

196

回帖

267

积分

炉火纯青

贡献
0 点
金币
3 个
发表于 2023-3-29 02:35:22 | 显示全部楼层
感谢分享
回复

使用道具 举报

27

主题

176

回帖

220

积分

炉火纯青

贡献
0 点
金币
1 个
QQ
发表于 2023-3-29 22:04:18 | 显示全部楼层
利用chatgpt5分钟实现了网站的暗黑主题切换
回复 支持 反对

使用道具 举报

27

主题

176

回帖

220

积分

炉火纯青

贡献
0 点
金币
1 个
QQ
发表于 2023-3-29 22:07:57 | 显示全部楼层
我搭建了一个ChatGPT 网页 可以直接用   ailiao.wang
回复 支持 反对

使用道具 举报

头像被屏蔽

0

主题

193

回帖

199

积分

禁止发言

贡献
0 点
金币
5 个
QQ
发表于 2023-3-30 16:06:31 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

63

主题

402

回帖

582

积分

应用开发者

贡献
10 点
金币
26 个
QQ
 楼主| 发表于 2023-3-30 19:28:20 | 显示全部楼层
Guoyuh78 发表于 2023-3-29 22:07
我搭建了一个ChatGPT 网页 可以直接用   ailiao.wang

好的 我的经常掉线
⭐️推荐插件
Uniapp小程序和APP
所有插件打包

⭐️推荐模板
美化APP手机版
小米社区
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 关注公众号
  • 有偿服务微信
  • 有偿服务QQ

手机版|小黑屋|Discuz! 官方交流社区 ( 皖ICP备16010102号 |皖公网安备34010302002376号 )|网站地图|star

GMT+8, 2024-4-29 22:42 , Processed in 0.049755 second(s), 9 queries , Redis On.

Powered by Discuz! W1.0 Licensed

Cpoyright © 2001-2024 Discuz! Team.

关灯 在本版发帖
有偿服务QQ
有偿服务微信
返回顶部
快速回复 返回顶部 返回列表