当前位置:首页 > JavaScript

js实现div切换

2026-04-04 06:53:28JavaScript

使用 classList 切换显示/隐藏

通过切换 CSS 类来实现 div 的显示和隐藏控制。这种方法更符合现代 JavaScript 实践。

<style>
  .hidden {
    display: none;
  }
</style>

<div id="div1">内容1</div>
<div id="div2" class="hidden">内容2</div>

<script>
  function toggleDivs() {
    const div1 = document.getElementById('div1');
    const div2 = document.getElementById('div2');

    div1.classList.toggle('hidden');
    div2.classList.toggle('hidden');
  }
</script>

直接修改 style.display 属性

直接操作 DOM 元素的 style 属性是最基础的方法。

js实现div切换

function switchDivs() {
  const divA = document.getElementById('divA');
  const divB = document.getElementById('divB');

  if(divA.style.display === 'none') {
    divA.style.display = 'block';
    divB.style.display = 'none';
  } else {
    divA.style.display = 'none';
    divB.style.display = 'block';
  }
}

多 div 循环切换

当需要循环切换多个 div 时,可以维护一个当前显示索引。

js实现div切换

let currentIndex = 0;
const divs = document.querySelectorAll('.switchable');

function cycleDivs() {
  divs.forEach((div, index) => {
    div.style.display = index === currentIndex ? 'block' : 'none';
  });

  currentIndex = (currentIndex + 1) % divs.length;
}

使用数据属性管理状态

通过 HTML5 的 data-* 属性来存储和判断当前显示状态。

<div id="content1" data-visible="true">内容一</div>
<div id="content2" data-visible="false">内容二</div>

<script>
  function toggleContent() {
    const content1 = document.getElementById('content1');
    const content2 = document.getElementById('content2');

    if(content1.dataset.visible === 'true') {
      content1.dataset.visible = 'false';
      content2.dataset.visible = 'true';
      content1.style.display = 'none';
      content2.style.display = 'block';
    } else {
      content1.dataset.visible = 'true';
      content2.dataset.visible = 'false';
      content1.style.display = 'block';
      content2.style.display = 'none';
    }
  }
</script>

动画效果切换

为 div 切换添加过渡动画效果,提升用户体验。

.fade {
  transition: opacity 0.5s ease;
}
.hide {
  opacity: 0;
  pointer-events: none;
}
function fadeSwitch() {
  const box1 = document.getElementById('box1');
  const box2 = document.getElementById('box2');

  box1.classList.toggle('hide');
  box2.classList.toggle('hide');
}

标签: jsdiv
分享给朋友:

相关文章

js 实现vue模板

js 实现vue模板

实现 Vue 模板的 JavaScript 方法 通过原生 JavaScript 可以实现类似 Vue 的模板渲染功能,主要包括数据绑定、指令处理和模板解析。以下是核心实现思路: 数据绑定与响应式…

js实现乘

js实现乘

JavaScript 实现乘法运算 在 JavaScript 中实现乘法运算可以通过多种方式完成,包括基本运算符、函数封装以及高级算法(如大数乘法)。以下是几种常见方法: 使用基本乘法运算符 Jav…

js实现dh

js实现dh

JavaScript 实现 DH(Diffie-Hellman)密钥交换 Diffie-Hellman(DH)密钥交换是一种安全协议,允许双方在不安全的通信信道上建立一个共享密钥。以下是如何在 Jav…

js手势实现

js手势实现

手势识别实现方法 在JavaScript中实现手势识别通常涉及监听触摸事件(touchstart、touchmove、touchend)或鼠标事件(mousedown、mousemove、mouseu…

js节流实现

js节流实现

节流的概念 节流(Throttle)是一种限制函数执行频率的技术,确保函数在一定时间间隔内只执行一次。常用于滚动事件、窗口调整等高频触发的场景。 基础实现方法 使用时间戳判断是否执行函数:…

js实现 功能

js实现 功能

在 JavaScript 中实现功能通常涉及多个关键步骤,具体取决于功能需求。以下是常见功能的实现方法和示例: 基本功能实现 使用函数封装逻辑是最直接的方式。例如,实现一个计算两数之和的函数: f…