其概念是,在单击按钮时,页面内容的配色方案将与浏览器选项卡颜色沿着切换到深色模式。我想到了这个:
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="theme-color" content="#ffffff">
<style>
body {
padding: 25px;
background-color: #ddd;
color: black;
font-size: 25px;
}
.btn {
background: white;
border: 1px solid #10101c;
color: grey;
}
.dark-mode {
background-color: #10101c;
color: #778899;
}
.dark-mode .btn {
background: #10101c;
color: red;
border: 1px solid #002e43;
}
</style>
</head>
<body>
<h2>Toggle Dark/Light Mode</h2>
<p>Click the button to toggle between dark and light mode for this page.</p>
<button class="btn" onclick="toggle()">Toggle dark mode</button>
<script>
function toggle() {
var element = document.body;
element.classList.toggle("dark-mode");
var yo = document.querySelector("meta[name=theme-color]");
if yo.hasAttribute("content", "#ffffff");
{
yo.setAttribute("content", "#10101c");
}
else {
yo.setAttribute("content", "#ffffff");
}
}
</script>
</body>
</html>
我哪里做错了?集中的主要地区是JS地区。p.s.我是JS新手
3条答案
按热度按时间2w3kk1z51#
你的问题?**
if语句在
if
语句中的括号后有一个分号。注意:必须在if语句的开头和结尾处加上括号。
举例说明:
.hasAttribute
只接受一个参数。你给了它两个:if yo.hasAttribute("content", "#ffffff")
试试这个
希望这对你有帮助!
3bygqnnd2#
我不知道你到底想做什么,但这可以用一种更简单的方法来完成。你可以在运行
toggle()
函数的按钮上添加一个click事件,并从body
元素中添加/删除类。编辑:我已经根据你的评论更新了我的答案。在您的情况下,我认为您需要的不是
hasAttribute
,而是getAttribute
。k10s72fa3#
解决您的问题:(通过indoxploit)
标签:
JavaScript: