gpt4 book ai didi

javascript - 如何使用javascript通过一个按钮在两种不同颜色之间切换

转载 作者:太空宇宙 更新时间:2023-11-04 14:26:38 25 4
gpt4 key购买 nike

当我使用 JavaScript 单击事件监听器时,我试图在两种颜色之间切换。当我触发 click 事件时,它会将颜色更改为黑色。当我再次点击它时,我希望它变回默认值,即白色。我认为涉及 if 语句,但我不确定在这种情况下逻辑将如何工作。

<!DOCTYPE html>
<html>
<head>
<title>Light Switch</title>
<link rel="stylesheet" href="light.css" />

</head>

<body id="body">

<button id="submit">Submit
<label id="switch">
<input type="checkbox" checked>
<span class="slider"></span>
</label>
</button>

<script src="light.js"></script>
</body>
</html>


function start() {
var submit = document.getElementById("submit");
submit.addEventListener("click", toggle);
};

function toggle() {
var color = document.getElementById("body");
color.style.backgroundColor = "black";
};


start();

最佳答案

您可以在该元素的 classList 上使用 toggle 函数。添加一个类并切换它。

function start() {
var submit = document.getElementById("submit");
submit.addEventListener("click", toggle);
};

function toggle() {
var color = document.getElementById("body");
color.classList.toggle('black');
};


start();
.black {
background-color: black;
}
<body id="body">
<button id="submit">Submit
<label id="switch">
<input type="checkbox" checked>
<span class="slider"></span>
</label>
</button>
</body>

您也可以只检查当前颜色并每次切换。

function start() {
var submit = document.getElementById("submit");
submit.addEventListener("click", toggle);
};

function toggle() {
var color = document.getElementById("body");
var backColor = color.style.backgroundColor;
color.style.backgroundColor = backColor === "black" ? "white" : "black";
};


start();
<body id="body">
<button id="submit">Submit
<label id="switch">
<input type="checkbox" checked>
<span class="slider"></span>
</label>
</button>
</body>

关于javascript - 如何使用javascript通过一个按钮在两种不同颜色之间切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49314151/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com