javascript+html灯泡开关 2种方式

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>灯泡开关</title>
</head>
<body>
<!--设置一个图片,默认是关灯效果-->
<img src="image/1.gif" alt="" class="img">
<!--设置一个按钮,默认是用来点击触发事件-->
<input type="button" value="开灯">

</body>
</html>
<script type="text/javascript">
    //通过docment方法获取input标签属性
    let le = document.querySelector("input[type='button']");
    //给对应的按钮添加事件 addEvenListener 代表添加一个事件监听器,第一个参数为"click",代表点击,后面是函数,代表点击之后执行的函数
    le.addEventListener("click", function () {
        //通过document方法获取img对象
        let img = document.querySelector(".img");
        //在控制台打印图片路径,由于我图片是1.gif和2.gif命名的,我在控制台看到第57位正好是图片名称,于是我便开始替换
        console.log(img.src)
//通过switch判断当前图片属性是否为开关灯状态,注意由于他是默认字符串的,我是用parseInt转换为数字对象
        switch (parseInt(img.src.charAt(57))) {
//判断图片是1(即关灯状态),那么将上面获取的图片对象改为2(即开灯图片),并且设置input标签的状态,为关灯,case2则反之
            case 1:
                img.src = "image/2.gif";
                le.value = "关灯";
                break;
            case 2:
                img.src = "image/1.gif";
                le.value = "开灯";
                break;
            default:
                console.log("没找到");
                break;
        }
    });
</script>

第二种方式:

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <title>电灯开关</title>
</head>
<body>

<center>

    <img id="light" src="image/1.gif"/>
    <br>
    <input type="button" id="c1" value="开" οnclick="run()"/>

</center>

</body>
<script type="text/javascript">
   var flag = false;

    function run() {
        //得到img标签的标签对象
        var l = document.getElementById("light")

        var l1 = document.getElementById("c1")

        if (flag) {
            l.src = "image/1.gif"
            flag = false
            l1.value = "开"
        } else {
            l.src = "image/2.gif"
            flag = true
            l1.value = "关"
        }
    }
</script>
</html>

主要是通过onclick点击触发事件,判断图片状态,来控制开关灯

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值