当前位置:首页 > JavaScript

js实现开灯

2026-02-01 15:47:36JavaScript

使用HTML和JavaScript实现开关灯效果

通过JavaScript操作DOM元素改变背景颜色或图片,模拟开关灯效果。以下是两种常见实现方式:

js实现开灯

方法一:切换背景颜色

<!DOCTYPE html>
<html>
<head>
    <title>开关灯演示</title>
    <style>
        body {
            transition: background-color 0.5s;
        }
        .light-on {
            background-color: white;
            color: black;
        }
        .light-off {
            background-color: black;
            color: white;
        }
        button {
            padding: 10px 20px;
            font-size: 16px;
        }
    </style>
</head>
<body class="light-on">
    <button id="toggleBtn">关灯</button>

    <script>
        const toggleBtn = document.getElementById('toggleBtn');
        const body = document.body;

        toggleBtn.addEventListener('click', function() {
            body.classList.toggle('light-on');
            body.classList.toggle('light-off');
            toggleBtn.textContent = body.classList.contains('light-on') ? '关灯' : '开灯';
        });
    </script>
</body>
</html>

方法二:切换图片或图标

<!DOCTYPE html>
<html>
<head>
    <title>灯泡开关演示</title>
    <style>
        #bulb {
            width: 100px;
            height: 100px;
            background-size: contain;
            background-repeat: no-repeat;
        }
        .on {
            background-image: url('bulb-on.png');
        }
        .off {
            background-image: url('bulb-off.png');
        }
    </style>
</head>
<body>
    <div id="bulb" class="on"></div>
    <button id="toggleBtn">关灯</button>

    <script>
        const toggleBtn = document.getElementById('toggleBtn');
        const bulb = document.getElementById('bulb');

        toggleBtn.addEventListener('click', function() {
            bulb.classList.toggle('on');
            bulb.classList.toggle('off');
            toggleBtn.textContent = bulb.classList.contains('on') ? '关灯' : '开灯';
        });
    </script>
</body>
</html>

进阶实现:添加动画效果

// 在方法一的基础上添加以下CSS
@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

.light-on {
    animation: fadeIn 0.5s ease-in;
}

注意事项

  • 图片路径需要替换为实际可用的图片URL
  • 颜色值可以根据需求调整
  • 过渡效果时间可通过CSS的transition属性调整
  • 移动端适配可能需要额外媒体查询设置

标签: 开灯js
分享给朋友:

相关文章

vue实现js休眠

vue实现js休眠

Vue 中实现 JavaScript 休眠 在 Vue 中实现 JavaScript 休眠通常需要使用异步方式,以避免阻塞主线程。以下是几种常见方法: 使用 setTimeout 和 Pro…

js实现tab选项卡切换

js实现tab选项卡切换

实现Tab选项卡切换的JavaScript方法 使用纯JavaScript实现Tab切换功能,可以通过监听点击事件动态切换内容显示状态。以下是两种常见实现方式: 基础DOM操作实现 /…

js实现驼峰

js实现驼峰

实现驼峰命名的几种方法 使用正则表达式和字符串替换 通过正则表达式匹配字符串中的特定模式(如下划线或短横线),并将其后的字母转换为大写,同时移除分隔符。 function toCamelCase(s…

js怎么实现异步

js怎么实现异步

异步实现方法 JavaScript中实现异步操作主要通过以下几种方式: Promise Promise是ES6引入的异步解决方案,用于处理异步操作的成功或失败状态。 const promise =…

js实现图片

js实现图片

图片加载与显示 在JavaScript中,可以通过Image对象动态加载图片。创建实例后设置src属性触发加载,通过onload回调处理加载完成后的操作: const img = new Ima…

js实现轮播代码

js实现轮播代码

基础轮播实现 使用HTML、CSS和JavaScript创建一个简单的轮播效果。HTML部分定义轮播容器和图片元素。 <div class="carousel"> <div c…