首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在单击时逐个展开和折叠div

在前端开发中,可以通过JavaScript来实现在单击时逐个展开和折叠div的效果。以下是一种实现方式:

  1. 首先,在HTML中定义需要展开和折叠的div元素,给每个div添加一个共同的类名,例如"toggle-div",并设置初始状态为折叠。
代码语言:txt
复制
<div class="toggle-div">
  <h3>标题1</h3>
  <p>内容1</p>
</div>

<div class="toggle-div">
  <h3>标题2</h3>
  <p>内容2</p>
</div>

<div class="toggle-div">
  <h3>标题3</h3>
  <p>内容3</p>
</div>
  1. 接下来,在JavaScript中编写代码,通过事件监听来实现单击时逐个展开和折叠div的效果。
代码语言:txt
复制
// 获取所有具有共同类名的div元素
var toggleDivs = document.getElementsByClassName("toggle-div");

// 遍历每个div元素,为其添加点击事件监听
for (var i = 0; i < toggleDivs.length; i++) {
  toggleDivs[i].addEventListener("click", function() {
    // 切换当前点击的div的展开/折叠状态
    this.classList.toggle("active");

    // 获取当前点击的div下的内容元素
    var content = this.querySelector("p");

    // 判断当前div是否处于展开状态
    if (content.style.display === "block") {
      // 如果是展开状态,则折叠div
      content.style.display = "none";
    } else {
      // 如果是折叠状态,则展开div
      content.style.display = "block";
    }
  });
}
  1. 最后,在CSS中设置初始状态和动画效果。
代码语言:txt
复制
.toggle-div {
  cursor: pointer;
  margin-bottom: 10px;
  background-color: #f0f0f0;
  padding: 10px;
}

.toggle-div h3 {
  margin: 0;
}

.toggle-div p {
  display: none;
  margin-top: 10px;
}

.toggle-div.active {
  background-color: #e0e0e0;
}

.toggle-div.active p {
  display: block;
  animation: fade-in 0.5s ease-in-out;
}

@keyframes fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

通过以上代码,当用户单击每个div时,会逐个展开或折叠对应的内容。点击展开时,内容会以淡入的动画效果显示出来,点击折叠时,内容会隐藏起来。这样就实现了在单击时逐个展开和折叠div的效果。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云前端开发相关产品:https://cloud.tencent.com/product/webhosting
  • 腾讯云云原生相关产品:https://cloud.tencent.com/product/tke
  • 腾讯云服务器运维相关产品:https://cloud.tencent.com/product/cvm
  • 腾讯云音视频相关产品:https://cloud.tencent.com/product/vod
  • 腾讯云人工智能相关产品:https://cloud.tencent.com/product/ai
  • 腾讯云物联网相关产品:https://cloud.tencent.com/product/iotexplorer
  • 腾讯云移动开发相关产品:https://cloud.tencent.com/product/mab
  • 腾讯云存储相关产品:https://cloud.tencent.com/product/cos
  • 腾讯云区块链相关产品:https://cloud.tencent.com/product/baas
  • 腾讯云元宇宙相关产品:https://cloud.tencent.com/product/tgsv
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • bootstrap 折叠面板 常用样式

    Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo.
    Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo.
    Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo.

    03

    Sci. Adv. | 基于非线性机械展开响应的端到端新蛋白生成使用语言扩散模型

    今天为大家介绍的是来自Markus J. Buehler团队的一篇论文。自然进化过程中,大自然展现了一系列具有卓越机械性能的蛋白质材料,这些蛋白质在机械生物学中扮演着至关重要的角色。然而,超越自然设计,发现满足特定机械性质要求的蛋白质仍然是一个挑战。在这里,作者报道了一种生成模型,该模型能够预测出为满足复杂的非线性机械性质设计目标的蛋白质设计。作者的模型利用了来自预训练蛋白质语言模型的深层蛋白质序列知识,并将机械展开响应映射出来以创建蛋白质。通过分子模拟进行直接验证,作者展示了所设计的蛋白质是全新的,并且满足了目标机械性质,包括展开能量和机械强度。

    01

    bootstrap collapse

    <!doctype html> <html> <head> <meta charset="utf-8"> <title>联想控股</title> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link href="css/bootstrap.css" rel="stylesheet" type="text/css"> <script src="http://code.jquery.com/jquery.js"></script> <script src="js/bootstrap.js"></script> </head> <body>

    Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo.
    Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo.
    Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo.
    </body> </html>

    01
    领券