【发布时间】:2019-05-12 15:15:42
【问题描述】:
我正在用 javascript 编写一个函数,该函数应该更改 html 元素的 src 以使其看起来像 html 元素(灯泡)正在打开和关闭。它包括一个 if else if 语句来检查灯泡是否已经关闭或打开,然后将其转向相反。该功能由按钮启动。
我的问题是,当我单击按钮时,它会打开灯泡,但当我再次单击它时,它会关闭。为什么会这样?我没有从控制台收到任何错误消息。
这是我的代码:
<!DOCTYPE html>
<html>
<head>
<style>
button {
background-color: white;
border-radius: 0.25px;
border-color: black;
height: 30px;
}
</style>
</head>
<body>
<button id = "button" onclick="light(on)"></button>
<img id="myImage" src="file:///C://Users/xenia/Downloads/light-bulb-off-
pixilart.png">
<script>
var on = 0; // 1 is true, 0 is false
function light(on) {
if (on == 0) {
document.getElementById("myImage").src="file:///C://Users/xenia/Downloads/ligh
t-bulb-on-pixilart.png"
on = 1
}
else if (on == 1){
document.getElementById("myImage").src="file:///C://Users/xenia/Downloads/ligh
t-bulb-off-pixilart.png"
on = 0
}
}
</script>
</body>
</html>
【问题讨论】:
-
嗨塞缪尔,欢迎来到 SO!你有小提琴吗?这将使我们更容易为您提供帮助。
-
我现在没有,但我会做一个
-
我认为 Nina 找到了您的问题,但我会在您的代码中清理一些内容以使其更清晰、更健壮。首先使用布尔值而不是 int 进行开/关,例如
let lightOn = true; -
我已经创建了它 - 我如何发布它?
-
太好了,谢谢。只需点击保存,它会在 URL 上修改一个唯一的哈希,然后您可以在此处分享。您无需登录或任何其他操作。
标签: javascript boolean element src