html+css+js实现Collapse 折叠面板
实现效果:

HTML部分
<div class="collapse"><ul><li><div class="header"><h4>一致性 Consistency</h4><span class="iconfont icon-jiantou"></span></div><div class="footer">与现实生活一致:与现实生活的流程、逻辑保持一致,遵循用户习惯的语言和概念;<br>在界面中一致:所有的元素和结构需保持一致,比如:设计样式、图标和文本、元素的位置等。</div></li><li><div class="header"><h4>反馈 Feedback</h4><span class="iconfont icon-jiantou "></span></div><div class="footer">控制反馈:通过界面样式和交互动效让用户可以清晰的感知自己的操作;<br>页面反馈:操作后,通过页面元素的变化清晰地展现当前状态。</div></li><li><div class="header"><h4>效率 Efficiency</h4><span class="iconfont icon-jiantou"></span></div><div class="footer">简化流程:设计简洁直观的操作流程;<br>清晰明确:语言表达清晰且表意明确,让用户快速理解进而作出决策;<br>帮助用户识别:界面简单直白,让用户快速识别而非回忆,减少用户记忆负担。</div></li><li><div class="header"><h4>可控 Controllability</h4><span class="iconfont icon-jiantou"></span></div><div class="footer">用户决策:根据场景可给予用户操作建议或安全提示,但不能代替用户进行决策;<br>结果可控:用户可以自由的进行操作,包括撤销、回退和终止当前操作等。</div></li></ul></div>
CSS部分
<style>*{margin: 0;padding: 0;box-sizing: border-box;}li{list-style: none;}.collapse{width: 900px;border: 1px solid rgb(235, 235, 235);margin: 50px auto;padding: 25px;}.collapse ul{border-top: 1px solid rgb(235, 235, 235);}.collapse ul li{border-bottom: 1px solid rgb(235, 235, 235);}.collapse ul .header{cursor: pointer;position: relative;/* background-color: pink; */height: 40px;line-height: 40px;}.collapse ul .header h4{font-size: 18px;font-weight: normal;color: rgb(62, 63, 65);}.collapse ul li span{position: absolute;right: 0;top: -1px;transition: 0.8s ease;}.collapse ul li span.active{transform: rotate(-90deg);}.collapse ul .footer{overflow: hidden;max-height: 0;transition: max-height 0.8s ease;color: rgb(62, 63, 65)}.collapse ul li .footer.active{max-height: 500px;}</style>
JS部分
<script>const headers=document.querySelectorAll('.header')headers.forEach(function(item){item.addEventListener('click',function(){const icon=this.querySelector('.iconfont')const footer=this.nextElementSiblingicon.classList.toggle('active');footer.classList.toggle('active');})})
</script>
相关文章:
html+css+js实现Collapse 折叠面板
实现效果: HTML部分 <div class"collapse"><ul><li><div class"header"><h4>一致性 Consistency</h4><span class"iconfont icon-jiantou"></span></div><div class"…...
RM服务器研究(一)
客户端默认端口是10100: MultiPort.dll BOOL sub_10001070() { UINT v0; // esi BOOL result; // eax CHAR KeyName; // [espCh] [ebp-10Ch] DWORD flOldProtect; // [esp10h] [ebp-108h] CHAR Buffer; // [esp14h] [ebp-104h] char v5; // [esp15h] [e…...
云岚到家xxl job 配置
调度中心: 负责管理调度信息,按照调度配置发出调度请求,自身不承担业务代码; 主要职责为执行器管理、任务管理、监控运维、日志管理等 任务执行器: 负责接收调度请求并执行任务逻辑; 主要职责是执行任…...
国内动态短效sk5
HTTP爬虫代理,软件测试, 动态转发IP方案,全高匿名,私密IP,固定网关将您每次请求的HTTP重定向到不同的后端IP,支持API;指路小熊IP https://www.xiaoxiongip.com?fromqkJWgD可测...
【路径规划】路径平滑算法,A星算法拐点的圆弧化处理
摘要 A算法广泛应用于路径规划中,但其生成的路径通常在拐点处呈现不平滑的折线。为了提升路径的平滑性,本文提出了一种基于圆弧的平滑处理方法,用于对A算法产生的路径拐点进行优化。通过在MATLAB中进行仿真验证,该方法能够有效减…...
【寻找one piece的算法之路】——双指针算法!他与她是否会相遇呢?
💐个人主页:初晴~ 📚相关专栏:寻找one piece的刷题之路 什么是双指针算法 双指针算法是一种常用的编程技巧,尤其在处理数组和字符串问题时非常有效。这种方法的核心思想是使用两个指针来遍历数据结构,这两…...
UFS 3.1架构简介
整个UFS协议栈可以分为三层:应用层(UFS Application Layer(UAP)),传输层(UFS Transport Layer(UTP)),链路层(UIC InterConnect Layer(UIC))。应用层发出SCSI命令(UFS没有自己的命令使用的是简化的SCSI命令),在传输层将SCSI分装为UPIU,再经过链路层将命令发送给Devices。下…...
注册安全分析报告:科研诚信查询平台无验证方式导致安全隐患
前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 1. 暴力破解密码,造成用户信息泄露 2. 短信盗刷的安全问题,影响业务及导致用户投诉 3. 带来经济损失,尤其是后付费客户,风险巨大,造…...
04.useTitle
在 React 应用中,动态更新页面标题是提升用户体验的一个重要方面。它可以让用户更清楚地知道当前页面的内容或状态,特别是在单页应用(SPA)中。useTitle 钩子提供了一种简单而有效的方式来管理文档标题。以下是如何实现和使用这个自定义钩子: const useTitle = title =>…...
ROS2中的srv、action、发布订阅三种方式
ROS2中的srv、action、发布订阅三种方式 以下是ROS2中srv、action、发布订阅三种方式的差异和使用场景的表格形式呈现: 特性/方式srv(服务)action(动作)发布订阅(Publish-Subscribe)通信模式请…...
HarmonyOS/OpenHarmony 自定义弹窗页面级层级控制解决方案
关键词:CuntomDialog自定义弹窗、SubWindow子窗口、页面级、弹窗层级控制、鸿蒙、弹窗展示层级异常 问题存在API版本:API10 - API12(该问题已反馈,期望后续官方能增加页面级控制能力) 在正常的鸿蒙app开发过程中&…...
C/C++进阶(一)--内存管理
更多精彩内容..... 🎉❤️播主の主页✨😘 Stark、-CSDN博客 本文所在专栏: 学习专栏C语言_Stark、的博客-CSDN博客 其它专栏: 数据结构与算法_Stark、的博客-CSDN博客 项目实战C系列_Stark、的博客-CSDN博客 座右铭&a…...
docker-compose 快速部署clickhouse集群
在本教程中,我们将学习如何使用 Docker Compose 部署一个带有三节点的 ClickHouse 集群,并使用 ZooKeeper 作为分布式协调服务。 前提条件 注意事项: 镜像版本号注意保持一致 [zookeeper:3.7, clickhouse/clickhouse-server:22.5.4]config…...
闯关训练三:Git 基础知识
任务1: 破冰活动:自我介绍 点击Fork目标项目,创建一个新的Fork 获取仓库链接 在连接好开发机的vscode终端中逐行执行以下代码: git clone https://github.com/KelvinIII/Tutorial.git # 修改为自己frok的仓库 cd Tutorial/ git branch -a g…...
Java--IO基本流
IO流 概述 生活中,你肯定经历过这样的场景。当你编辑一个文本文件,忘记了ctrls ,可能文件就白白编辑了。当你电脑上插入一个U盘,可以把一个视频,拷贝到你的电脑硬盘里。那么数据都是在哪些设备上的呢?键盘…...
结合大语言模型的机械臂抓取操作简单介绍
一、大语言模型与机械臂抓取的基本操作 1. 大语言模型简介 大语言模型是基于深度学习技术构建的自然语言处理模型,能够生成、理解和处理文本信息。这些模型通过训练大量的文本数据,学习语法、上下文和常识,能够执行多种任务,如文…...
Vivado - BD(差分时钟、简单分频、RESET、KEY)
目录 1. 简介 1.1 要点 1.2 buffer 介绍 2. vivado 工程 2.1 Block Design 2.2 IBUFDS 2.3 BUFGCE_DIV 2.4 Processor System Reset 2.5 key_mod 2.6 led_drv 3. 编译与调试 3.1 XDC 3.2 Debug 4. 总结 1. 简介 1.1 要点 了解 Utility Buffer v2.2 中的 Buffer…...
7--苍穹外卖-SpringBoot项目中套餐管理 详解(一)
前言 目录 新增套餐 需求分析和设计 代码开发 根据分类id查询菜品 Controller层 Service层 ServiceImpl层 Mapper层 DishMapper.xml 新增套餐 实体类 mapper层 Service层 ServiceImpl层 Mapper层 SetmealMapper.xml setmealDishMapper.xml 套餐分页查询 需求分…...
【尚硅谷】RocketMQ 消息队列学习笔记
RocketMQ 和 Kafka 消息队列概念比较? 好的!RocketMQ 和 Kafka 都是分布式消息队列系统,它们的核心概念有很多相似之处,但在具体实现和命名上有所不同。下面我通过一个表格来对比 RocketMQ 和 Kafka 中的五个概念:消息…...
C题(三)芝麻开门 --- strcmp函数应用
场景一:“芝麻开门 ”是通往C语言的大门的暗号,现在你需要说对暗号,大门才会打开。 【分解目标1】字符串的输入 char arr[20] { 0 }; //字符的集合---字符串(数组表示)//20为预定的数组的大小scanf("%s", a…...
Debian系统简介
目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版ÿ…...
Opencv中的addweighted函数
一.addweighted函数作用 addweighted()是OpenCV库中用于图像处理的函数,主要功能是将两个输入图像(尺寸和类型相同)按照指定的权重进行加权叠加(图像融合),并添加一个标量值&#x…...
如何在看板中有效管理突发紧急任务
在看板中有效管理突发紧急任务需要:设立专门的紧急任务通道、重新调整任务优先级、保持适度的WIP(Work-in-Progress)弹性、优化任务处理流程、提高团队应对突发情况的敏捷性。其中,设立专门的紧急任务通道尤为重要,这能…...
Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)
引言:为什么 Eureka 依然是存量系统的核心? 尽管 Nacos 等新注册中心崛起,但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制,是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...
Robots.txt 文件
什么是robots.txt? robots.txt 是一个位于网站根目录下的文本文件(如:https://example.com/robots.txt),它用于指导网络爬虫(如搜索引擎的蜘蛛程序)如何抓取该网站的内容。这个文件遵循 Robots…...
佰力博科技与您探讨热释电测量的几种方法
热释电的测量主要涉及热释电系数的测定,这是表征热释电材料性能的重要参数。热释电系数的测量方法主要包括静态法、动态法和积分电荷法。其中,积分电荷法最为常用,其原理是通过测量在电容器上积累的热释电电荷,从而确定热释电系数…...
JS设计模式(4):观察者模式
JS设计模式(4):观察者模式 一、引入 在开发中,我们经常会遇到这样的场景:一个对象的状态变化需要自动通知其他对象,比如: 电商平台中,商品库存变化时需要通知所有订阅该商品的用户;新闻网站中࿰…...
Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement
Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement 1. LAB环境2. L2公告策略2.1 部署Death Star2.2 访问服务2.3 部署L2公告策略2.4 服务宣告 3. 可视化 ARP 流量3.1 部署新服务3.2 准备可视化3.3 再次请求 4. 自动IPAM4.1 IPAM Pool4.2 …...
HTML前端开发:JavaScript 获取元素方法详解
作为前端开发者,高效获取 DOM 元素是必备技能。以下是 JS 中核心的获取元素方法,分为两大系列: 一、getElementBy... 系列 传统方法,直接通过 DOM 接口访问,返回动态集合(元素变化会实时更新)。…...
基于开源AI智能名片链动2 + 1模式S2B2C商城小程序的沉浸式体验营销研究
摘要:在消费市场竞争日益激烈的当下,传统体验营销方式存在诸多局限。本文聚焦开源AI智能名片链动2 1模式S2B2C商城小程序,探讨其在沉浸式体验营销中的应用。通过对比传统品鉴、工厂参观等初级体验方式,分析沉浸式体验的优势与价值…...
