如何在JavaScript中打开和关闭灯泡?

Atom_Website_Developer

我在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>
妮娜·斯科茨(Nina Scholz)

您正在使用全局变量,但要在函数内部传递局部变量的值。然后,更改此变量不会影响全局值,因为原始值是由值移交的。

您需要将此行更改为(无on

<button id = "button" onclick="light()"></button>

和函数签名,没有变量

function light() {

现在,您访问全局变量on并更改值。


另一个提示是,您可以采用布尔值(truefalse),然后if直接使用变量来忽略语句中的检查,而忽略第二个检查,因为您只有两个值。

也许您可以省略带有数字值的第二张支票,因为没有代码分配与0不同的值1

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何打开和关闭灯泡:但只使用 1 个按钮?

如何在 Javascript 中打开和关闭 addEventListner

如何在Apollo中打开和关闭轮询?

如何在 Spring Retry 中打开和关闭 @Recover 方法?

如何在SwiftUI中打开和关闭通知

如何在iOS中打开和关闭通知?

如何在vue.js中打开和关闭标签?

如何在反应中打开和关闭物料导航抽屉

如何在 Roblox 中打开和关闭 gui?

如何在代码中打开或关闭SwitchCompat

Raspberry Pi中继和Python,如何在单独的功能中关闭和打开中继?

如何在Internet Explorer,FireFox和Chrome中使用JavaScript打开/关闭HTML选择

如何在 MYSQL 中获取打开和关闭的时间段

如何在Visual Studio Code中打开和关闭自动换行?

如何在atom编辑器中同时更改打开和关闭html标签?

如何在NLog中打开和关闭特定级别的日志记录

如何在预览和/或TextMate中强制关闭(丢弃)所有打开的文档?

如何在R Shiny仪表板中打开和关闭行

Vuetify如何在数据表中打开和关闭对话框

如何在React Passport Auth Flow中打开和关闭一个小窗口

如何在 JQuery 中打开和关闭同一个 div

如何在Silverlight下在Telerik RadTreeView中动态打开和关闭动画?

如何在Raspberry PI 4中打开和关闭USB端口电源

导航仅在javascript和CSS中打开和关闭动画

如何在Visual Studio Code中禁用灯泡

如何在悬停时打开和关闭Angular Mat菜单

如何在MacOS中使用bash打开和关闭应用

如何在单击和滚动时打开/关闭布局?

如何在 Windows7 上打开和关闭端口