当前位置:首页 > JavaScript

js实现开灯

2026-02-01 15:47:36JavaScript

js实现开灯

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

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

方法一:切换背景颜色

<!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实现开灯

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

相关文章

js 实现vue模板

js 实现vue模板

实现 Vue 模板的 JavaScript 方法 通过原生 JavaScript 可以实现类似 Vue 的模板渲染功能,主要包括数据绑定、指令处理和模板解析。以下是核心实现思路: 数据绑定与…

js实现计算器

js实现计算器

实现基础计算器功能 使用JavaScript创建一个基础计算器需要处理数字输入、运算符逻辑和结果显示。以下是一个简单的实现示例: let currentInput = '0'; let previ…

js实现文件下载

js实现文件下载

使用 a 标签下载文件 通过动态创建 a 标签并设置 download 属性实现文件下载。适用于已知文件 URL 或 Blob 数据的情况。 function downloadFile(url, f…

js实现验证

js实现验证

验证表单输入 使用JavaScript验证表单输入是常见的需求。可以通过监听表单提交事件,检查输入字段是否符合要求。 document.getElementById('myForm').addEve…

js实现乘

js实现乘

JavaScript 实现乘法运算 在 JavaScript 中实现乘法运算可以通过多种方式完成,包括基本运算符、函数封装以及高级算法(如大数乘法)。以下是几种常见方法: 使用基本乘法运算符 Ja…

js实现pdf在线预览

js实现pdf在线预览

使用PDF.js实现PDF在线预览 PDF.js是由Mozilla开发的一个开源JavaScript库,可以在网页中直接渲染PDF文件。以下是实现PDF在线预览的步骤: 引入PDF.js库 在HT…