当前位置:首页 > JavaScript

js 实现switchbutton

2026-04-05 15:44:09JavaScript

实现 Switch Button 的方法

使用 HTML 和 CSS 创建基本结构

<label class="switch">
  <input type="checkbox">
  <span class="slider"></span>
</label>
.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.querySelectorAll('.switch input').forEach(checkbox => {
  checkbox.addEventListener('change', function() {
    const isChecked = this.checked;
    console.log('Switch state:', isChecked);
    // 可以在这里添加切换后的处理逻辑
  });
});

自定义样式选项

通过修改 CSS 可以自定义开关的外观:

  • 调整 .switchwidthheight 改变整体大小
  • 修改 .sliderbackground-color 改变关闭状态颜色
  • 修改 input:checked + .sliderbackground-color 改变开启状态颜色
  • 调整 .slider:before 的尺寸改变滑块大小

添加动画效果

在 CSS 中已经包含了过渡效果:

js 实现switchbutton

transition: .4s;

可以调整这个时间值来改变切换速度,或者使用 transition-timing-function 改变动画曲线。

js 实现switchbutton

响应式设计考虑

使用相对单位可以让开关适应不同屏幕尺寸:

.switch {
  width: 3.75rem;
  height: 2.125rem;
}

.slider:before {
  height: 1.625rem;
  width: 1.625rem;
}

无障碍访问增强

为开关添加 ARIA 属性和标签:

<label class="switch">
  <input type="checkbox" role="switch" aria-labelledby="switch-label">
  <span class="slider"></span>
</label>
<span id="switch-label">Dark Mode</span>

标签: jsswitchbutton
分享给朋友:

相关文章

js实现图片轮播

js实现图片轮播

实现基础图片轮播 使用HTML、CSS和JavaScript创建一个简单的图片轮播。HTML部分定义轮播容器和图片,CSS设置样式和动画效果,JavaScript处理轮播逻辑。 <div cl…

js实现变形

js实现变形

使用 CSS 和 JavaScript 实现元素变形 在 JavaScript 中实现变形效果通常结合 CSS 的 transform 属性,通过动态修改该属性实现元素的旋转、缩放、倾斜或平移。 基…

js实现图片

js实现图片

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

js 实现跳转

js 实现跳转

使用 window.location.href 进行跳转 通过修改 window.location.href 可以跳转到指定 URL,浏览器会加载新页面: window.location.hre…

js实现按钮点击

js实现按钮点击

实现按钮点击的JavaScript方法 HTML按钮元素 在HTML中创建按钮元素,为其添加id或class以便JavaScript选择: <button id="myButton">点…

js分页实现

js分页实现

分页的基本原理 分页的核心是通过计算当前页码和数据偏移量,从服务器或本地数据中截取对应范围的数据进行展示。通常需要以下参数:当前页码(currentPage)、每页条数(pageSize)、总数据量(…