当前位置:首页 > JavaScript

js原生实现 toggle

2026-02-02 22:16:05JavaScript

原生JavaScript实现Toggle功能

使用原生JavaScript实现toggle效果可以通过多种方式完成,以下是几种常见方法:

切换类名实现显示/隐藏

const element = document.getElementById('targetElement');
element.addEventListener('click', function() {
  this.classList.toggle('active');
});

CSS需配合定义.active样式,例如:

js原生实现 toggle

.active {
  display: none;
}

直接修改style属性

const btn = document.querySelector('.toggle-btn');
const box = document.querySelector('.box');

btn.addEventListener('click', function() {
  if (box.style.display === 'none') {
    box.style.display = 'block';
  } else {
    box.style.display = 'none';
  }
});

切换布尔值状态

js原生实现 toggle

let isVisible = true;
const toggleBtn = document.getElementById('toggleBtn');
const content = document.getElementById('content');

toggleBtn.addEventListener('click', () => {
  isVisible = !isVisible;
  content.style.visibility = isVisible ? 'visible' : 'hidden';
});

自定义数据属性实现

document.querySelector('[data-toggle]').addEventListener('click', (e) => {
  const target = document.querySelector(e.target.dataset.toggle);
  target.hidden = !target.hidden;
});

HTML结构示例:

<button data-toggle="#panel">切换</button>
<div id="panel">可切换内容</div>

实现开关式toggle

const toggleSwitch = document.createElement('input');
toggleSwitch.type = 'checkbox';
toggleSwitch.addEventListener('change', function() {
  console.log(this.checked ? '开启' : '关闭');
});
document.body.appendChild(toggleSwitch);

以上方法可根据具体需求选择使用,类名切换的方式更符合现代前端开发实践,便于维护和扩展样式。直接操作style属性适合简单快速的实现,而数据属性方式则更具语义化。

标签: jstoggle
分享给朋友:

相关文章

js实现图片上传

js实现图片上传

图片上传的基本实现 使用HTML的<input type="file">元素配合JavaScript的File API可以实现图片上传功能。HTML部分需要创建一个文件选择输入框和一个用于…

js实现选项卡

js实现选项卡

实现选项卡的基本思路 选项卡通常由一组标签和对应的内容面板组成。点击标签时,显示对应的内容面板,隐藏其他面板。实现这一效果需要结合HTML结构、CSS样式和JavaScript交互逻辑。 HTML结…

js实现列表

js实现列表

使用 JavaScript 实现列表 JavaScript 提供了多种方式来实现列表功能,包括数组操作、DOM 元素动态生成等。以下是几种常见的实现方法: 使用数组存储列表数据 数组是 JavaSc…

js实现瀑布流

js实现瀑布流

实现瀑布流布局 瀑布流布局是一种常见的网页布局方式,常用于图片展示、商品列表等场景。以下是使用 JavaScript 实现瀑布流布局的几种方法。 纯 JavaScript 实现 通过计算元素的位置和…

js实现百叶窗

js实现百叶窗

使用CSS和JavaScript实现百叶窗效果 通过CSS动画和JavaScript事件监听可以实现百叶窗效果。核心思路是将内容区域分割为多个条状元素,通过控制它们的展开/折叠状态来模拟百叶窗。…

js树实现

js树实现

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