当前位置:首页 > JavaScript

js原生实现 toggle

2026-03-15 22:40:41JavaScript

原生 JavaScript 实现 Toggle 功能

Toggle 功能通常指在两种状态之间切换,例如显示/隐藏元素、切换类名、改变样式等。以下是几种常见的实现方式:

切换元素的显示/隐藏

通过修改 display 属性实现元素的显示和隐藏切换:

function toggleDisplay(elementId) {
  const element = document.getElementById(elementId);
  if (element.style.display === 'none') {
    element.style.display = 'block';
  } else {
    element.style.display = 'none';
  }
}

切换 CSS 类名

通过 classList.toggle() 方法添加或移除类:

js原生实现 toggle

function toggleClass(elementId, className) {
  document.getElementById(elementId).classList.toggle(className);
}

切换布尔值状态

实现一个简单的布尔值切换:

let isToggled = false;

function toggleState() {
  isToggled = !isToggled;
  console.log('Current state:', isToggled);
}

切换多个选项

实现多个选项之间的切换:

js原生实现 toggle

let currentOption = 1;
const totalOptions = 3;

function toggleOption() {
  currentOption = currentOption % totalOptions + 1;
  console.log('Current option:', currentOption);
}

切换元素属性

修改元素的属性值,例如 disabled

function toggleAttribute(elementId, attribute) {
  const element = document.getElementById(elementId);
  const current = element.getAttribute(attribute);
  element.setAttribute(attribute, current === 'true' ? 'false' : 'true');
}

切换事件监听器

动态添加或移除事件监听器:

function toggleEventListener(elementId, eventType, handler) {
  const element = document.getElementById(elementId);
  let isListening = false;

  return function() {
    if (isListening) {
      element.removeEventListener(eventType, handler);
    } else {
      element.addEventListener(eventType, handler);
    }
    isListening = !isListening;
  };
}

这些方法可以根据具体需求进行组合和扩展,实现更复杂的 toggle 功能。

标签: jstoggle
分享给朋友:

相关文章

js实现pdf在线预览

js实现pdf在线预览

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

js实现拷贝

js实现拷贝

实现文本拷贝 使用 document.execCommand 方法(已废弃但兼容性较好): function copyText(text) { const textarea = document…

js类实现

js类实现

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

js实现上传文件

js实现上传文件

文件上传的基本实现 使用HTML的<input type="file">元素配合JavaScript的File API可以实现文件上传功能。 <input type="file"…

js实现下拉刷新

js实现下拉刷新

监听触摸事件 通过监听 touchstart、touchmove 和 touchend 事件来检测用户下拉手势。记录触摸起始位置和移动距离。 let startY = 0; let currentY…

js实现显示隐藏

js实现显示隐藏

显示隐藏的实现方法 在JavaScript中,实现元素的显示和隐藏可以通过多种方式完成。以下是几种常见的方法: 修改CSS的display属性 通过改变元素的display属性可以在none(隐藏)…