当前位置:首页 > JavaScript

js实现灯泡

2026-04-07 03:56:52JavaScript

使用HTML和JavaScript实现灯泡效果

创建一个简单的灯泡效果可以通过HTML和JavaScript结合实现。以下是一个完整的示例代码:

<!DOCTYPE html>
<html>
<head>
    <title>JavaScript灯泡效果</title>
    <style>
        body {
            text-align: center;
            margin-top: 50px;
        }
        #bulb {
            width: 100px;
            height: 100px;
            border-radius: 50%;
            background-color: gray;
            margin: 20px auto;
        }
        button {
            padding: 10px 20px;
            font-size: 16px;
            cursor: pointer;
        }
    </style>
</head>
<body>
    <h1>JavaScript灯泡</h1>
    <div id="bulb"></div>
    <button onclick="toggleBulb()">开关灯泡</button>

    <script>
        let isOn = false;

        function toggleBulb() {
            const bulb = document.getElementById('bulb');
            isOn = !isOn;

            if(isOn) {
                bulb.style.backgroundColor = 'yellow';
                bulb.style.boxShadow = '0 0 20px yellow';
            } else {
                bulb.style.backgroundColor = 'gray';
                bulb.style.boxShadow = 'none';
            }
        }
    </script>
</body>
</html>

添加动画效果增强体验

可以通过CSS过渡为灯泡添加平滑的开关效果:

#bulb {
    transition: all 0.3s ease;
}

使用图片替代纯色灯泡

如果想使用真实的灯泡图片,可以修改代码:

<div id="bulb">
    <img src="bulb_off.png" id="bulbImage" width="100">
</div>

<script>
    function toggleBulb() {
        const bulbImage = document.getElementById('bulbImage');
        isOn = !isOn;
        bulbImage.src = isOn ? 'bulb_on.png' : 'bulb_off.png';
    }
</script>

添加键盘控制功能

扩展功能,使灯泡可以通过键盘空格键控制:

document.addEventListener('keydown', function(event) {
    if(event.code === 'Space') {
        toggleBulb();
        event.preventDefault();
    }
});

实现自动闪烁效果

添加自动闪烁功能:

js实现灯泡

let blinkInterval;

function startBlinking() {
    blinkInterval = setInterval(toggleBulb, 500);
}

function stopBlinking() {
    clearInterval(blinkInterval);
}

// 添加按钮调用这些函数

这些代码示例展示了如何使用JavaScript创建和控制灯泡效果,从基本的开关功能到更复杂的动画和交互功能。

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

相关文章

js实现打印

js实现打印

使用window.print()方法实现打印 在JavaScript中,可以通过调用window.print()方法直接触发浏览器的打印功能。这会打开系统的打印对话框,用户可以选择打印机和设置打印选项…

js实现论坛

js实现论坛

实现论坛的基本功能 使用JavaScript实现一个论坛需要结合前端和后端技术。前端可以使用React、Vue或Angular等框架,后端可以选择Node.js配合Express或Koa框架。数据库可…

js树实现

js树实现

树的基本概念 树是一种非线性的数据结构,由节点和边组成。每个节点包含一个值和指向子节点的引用。树的顶部节点称为根节点,没有子节点的节点称为叶节点。 树的实现方式 在JavaScript中,树可以通过…

节流js实现

节流js实现

节流(Throttle)的实现原理 节流是一种限制函数执行频率的技术,确保函数在一定时间间隔内最多执行一次。适用于高频触发事件(如滚动、输入、窗口调整等)的场景。 基础实现方式 使用时间戳判断是否执…

js实现路由

js实现路由

js实现路由的方法 在JavaScript中实现路由功能可以通过多种方式完成,以下是几种常见的方法: 使用原生JavaScript实现路由 通过监听window.onhashchange事件来实现基…

js进度条实现

js进度条实现

使用HTML和CSS创建基础结构 在HTML中创建一个容器元素用于显示进度条,通常使用<div>元素。CSS用于设置进度条的样式,包括宽度、高度、颜色和圆角等属性。 <div cl…