…">
当前位置:首页 > JavaScript

js 实现开关

2026-03-14 00:58:36JavaScript

使用 HTML 和 JavaScript 实现开关

HTML 部分创建一个简单的开关结构,使用 labelcheckbox 实现交互:

<label class="switch">
  <input type="checkbox" id="toggle">
  <span class="slider"></span>
</label>

CSS 样式设计

为开关添加基础样式,使其具有视觉反馈:

.switch {
  position: relative;
  display: inline-block;
  width: 60px;
  height: 34px;
}

.switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

.slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #ccc;
  transition: .4s;
  border-radius: 34px;
}

.slider:before {
  position: absolute;
  content: "";
  height: 26px;
  width: 26px;
  left: 4px;
  bottom: 4px;
  background-color: white;
  transition: .4s;
  border-radius: 50%;
}

input:checked + .slider {
  background-color: #2196F3;
}

input:checked + .slider:before {
  transform: translateX(26px);
}

JavaScript 控制逻辑

添加事件监听器处理开关状态变化:

document.getElementById('toggle').addEventListener('change', function() {
  if(this.checked) {
    console.log('开关已打开');
    // 打开状态执行的操作
  } else {
    console.log('开关已关闭');
    // 关闭状态执行的操作
  }
});

使用按钮元素实现开关

替代方案使用按钮元素实现开关效果:

<button id="powerBtn" class="power-button">OFF</button>
const powerBtn = document.getElementById('powerBtn');
let isOn = false;

powerBtn.addEventListener('click', () => {
  isOn = !isOn;
  powerBtn.textContent = isOn ? 'ON' : 'OFF';
  powerBtn.style.backgroundColor = isOn ? '#4CAF50' : '#f44336';

  // 根据状态执行不同操作
  if(isOn) {
    // 开启功能
  } else {
    // 关闭功能
  }
});

使用第三方库实现

快速集成现有开关组件库:

js 实现开关

<!-- 引入库 -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-switch@3.3.4/dist/css/bootstrap3/bootstrap-switch.min.css">
<script src="https://cdn.jsdelivr.net/npm/bootstrap-switch@3.3.4/dist/js/bootstrap-switch.min.js"></script>

<!-- 使用 -->
<input type="checkbox" name="my-switch" data-size="large">
$("[name='my-switch']").bootstrapSwitch();

标签: js
分享给朋友:

相关文章

js实现跳转

js实现跳转

使用 window.location 跳转 通过修改 window.location.href 实现页面跳转,这是最常用的方法。 window.location.href = 'https://…

js实现vr

js实现vr

使用WebXR API实现VR体验 WebXR是浏览器中实现VR和AR体验的标准API,它取代了早期的WebVR。现代浏览器如Chrome、Edge和Firefox已支持WebXR。 // 初始化W…

js类实现

js类实现

使用类实现 JavaScript 功能 在 JavaScript 中,类(Class)是一种语法糖,基于原型继承机制。通过 class 关键字可以更直观地定义对象模板。 基本类定义 class…

js实现图

js实现图

JavaScript 实现图的常用方法 在 JavaScript 中,图(Graph)可以通过多种方式实现,常见的包括邻接表(Adjacency List)和邻接矩阵(Adjacency Matrix…

js实现正交

js实现正交

正交的概念 正交在数学和计算机科学中通常指两个向量垂直或线性无关。在编程中,正交性常被用于设计模块化、低耦合的系统。 向量正交判断 判断两个向量是否正交可以通过点积是否为0来实现: fun…

js怎么实现异步

js怎么实现异步

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