当前位置:首页 > 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() 方法添加或移除类:

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

切换布尔值状态

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

let isToggled = false;

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

切换多个选项

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

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');
}

切换事件监听器

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

js原生实现 toggle

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
分享给朋友:

相关文章

jquery.js

jquery.js

jQuery 简介 jQuery 是一个快速、简洁的 JavaScript 库,用于简化 HTML 文档遍历、事件处理、动画设计和 Ajax 交互。它的设计宗旨是“Write Less, Do Mor…

vue实现js休眠

vue实现js休眠

Vue 中实现 JavaScript 休眠 在 Vue 中实现 JavaScript 休眠通常需要使用异步方式,以避免阻塞主线程。以下是几种常见方法: 使用 setTimeout 和 Pro…

js实现选项卡

js实现选项卡

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

原生js实现轮播图

原生js实现轮播图

基本结构搭建 HTML部分需要包含轮播图容器、图片列表及导航按钮。结构示例如下: <div class="slider-container"> <div class="slid…

vue实现toggle

vue实现toggle

Vue实现Toggle功能的方法 在Vue中实现Toggle功能可以通过多种方式完成,以下是一些常见的方法: 使用v-model和计算属性 通过v-model绑定一个布尔值,结合计算属性实现切换功…

js分组实现

js分组实现

分组实现方法 在JavaScript中,可以通过多种方式实现数组或对象的分组操作。以下是几种常见的方法: 使用Array.prototype.reduce() 通过reduce方法可以轻松实现数组分…