当前位置:首页 > JavaScript

js实现点击显示隐藏

2026-03-01 06:24:19JavaScript

使用 classList.toggle 方法

通过 classList.toggle 方法切换元素的显示和隐藏状态。这种方法适合需要频繁切换显示状态的场景。

const toggleButton = document.getElementById('toggleButton');
const content = document.getElementById('content');

toggleButton.addEventListener('click', () => {
  content.classList.toggle('hidden');
});

对应的 CSS 样式:

.hidden {
  display: none;
}

使用 style.display 属性

直接修改元素的 style.display 属性来控制显示和隐藏。这种方法适合不需要保留初始样式的场景。

js实现点击显示隐藏

const toggleButton = document.getElementById('toggleButton');
const content = document.getElementById('content');

toggleButton.addEventListener('click', () => {
  if (content.style.display === 'none') {
    content.style.display = 'block';
  } else {
    content.style.display = 'none';
  }
});

使用 jQuery 的 toggle 方法

如果项目中已经引入了 jQuery,可以使用其提供的 toggle 方法简化操作。

$('#toggleButton').click(function() {
  $('#content').toggle();
});

使用 data-* 属性存储状态

通过 data-* 属性来存储元素的当前状态,适合需要跟踪状态的复杂场景。

js实现点击显示隐藏

const toggleButton = document.getElementById('toggleButton');
const content = document.getElementById('content');

toggleButton.addEventListener('click', () => {
  const isHidden = toggleButton.dataset.hidden === 'true';
  content.style.display = isHidden ? 'block' : 'none';
  toggleButton.dataset.hidden = !isHidden;
});

动画效果实现

如果需要平滑的显示/隐藏过渡效果,可以结合 CSS transition 或 JavaScript 动画。

const toggleButton = document.getElementById('toggleButton');
const content = document.getElementById('content');

toggleButton.addEventListener('click', () => {
  content.style.transition = 'opacity 0.3s ease';
  if (content.style.opacity === '0') {
    content.style.opacity = '1';
    content.style.pointerEvents = 'auto';
  } else {
    content.style.opacity = '0';
    content.style.pointerEvents = 'none';
  }
});

对应的 CSS 样式:

#content {
  opacity: 1;
}

标签: js
分享给朋友:

相关文章

js实现vue

js实现vue

Vue.js 简介 Vue.js 是一个渐进式 JavaScript 框架,用于构建用户界面。其核心库专注于视图层,易于与其他库或现有项目整合。 实现 Vue.js 的基本步骤 安装 Vue.j…

js实现动画

js实现动画

使用 CSS 动画与 JavaScript 控制 通过 JavaScript 动态添加或移除 CSS 类来触发动画。CSS 定义关键帧(@keyframes),JavaScript 通过 classL…

js实现拷贝

js实现拷贝

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

js实现vr

js实现vr

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

js钟表实现

js钟表实现

实现JavaScript钟表的基本方法 创建一个简单的JavaScript钟表可以通过以下步骤完成,涵盖数字和模拟两种形式。 数字钟表实现 HTML结构只需一个显示时间的容器: <div…

js实现代码雨

js实现代码雨

实现代码雨效果 使用HTML5 Canvas和JavaScript可以轻松实现经典的代码雨效果。以下是完整的实现代码和说明: HTML结构 <!DOCTYPE html> <ht…