实现简易手风琴样式

简介: 蓝桥最新一期的楼赛是实现手风琴样式,这个我们可以考虑到几个解决方案,我们先来看题

实现简易的手风琴样式

蓝桥最新一期的楼赛是实现手风琴样式,这个我们可以考虑到几个解决方案,我们先来看题

题目要求

题目要求我们的鼠标滑动或点击到某个盒子上后图片会被拉长,离开鼠标或者点击其他盒子后图片回复原来的样子,以达到手风琴样式效果,最后效果图如下所示

image.png

代码结构

  1. html结构,官方给的html结构是这种通过两层嵌套的,并且以active和option来对样式进行控制
<div class="options">
        <div class="option active" style="--optionBackground:url(../images/pic1.jpeg);" id="item1">
            <div class="shadow"></div>
        </div>
    </div>
复制代码

实现方案

  1. 整体逻辑:我们可以通过JQ的addClass和removeClass来对包含盒子进行一个样式的添加和移除,所以我们需要预先设置好我们对两种图片的样式,然后通过hover来实现鼠标的悬浮和离开配合add和remove来添加样式。
  2. 冗余代码实现方法,因为我们的每一个盒子需要不同的id来控制每个盒子的悬浮事件,所以我们需要给四个盒子设置事件,所以这里就造成了极大的代码冗余,代码如下,我们需要四乘以现在的代码量来实现这个功能,所以我下面又提供了另一种写法
$("#item1").hover(function () {//鼠标进入和离开事件
  $("#item1").addClass("active")
}, function () {//离开就恢复初始样式
  $("#item1").removeClass("active")
})
复制代码
  1. 简易代码实现方法,为了减少代码冗余的问题,所以采取了这种方案,即当鼠标点击盒子后我们通过对option的子类进行class的查找,找到后移除,移除后再通过e来进行点击后增加class,从而进一步实现功能
$('.option').click(e=>{
  $('.options').find('.active').removeClass('active');
  $(e.target).addClass('active');
})
复制代码

总结

在开发中总会有这种代码冗余,这虽然是楼赛的一道web题,但是还是想一下如何减少冗余,使用轻便的代码来实现更好的功能,所以我们在做功能的时候可以考虑其他实现方案,比如说这里我们可以通过e来进点击绑定和class的添加,避免了我们通过id来绑定事件和添加class


相关文章
|
2月前
|
网络协议 Java 测试技术
网站开发性能测试-JMeter 压测 Tomcat 接口的并发吞吐量(QPS)
在企业级网站开发、Java Web 系统上线与后端架构调优实战中,**性能压力测试(Stress / Load Testing)** 是验证系统高可用性、探测吞吐量极限与排除潜在并发死锁、内存泄露(Memory Leak)的必经之路。 对于采用 Apache Tomcat 作为 Servlet 容器的企业级应用(如 Spring Boot 内嵌 Tomcat 或独立 Tomcat 9/10 集群),单台服务器在面对每秒数百乃至数万次的高频请求时,其底层线程池调度、I/O 多路复用模型(NIO/NIO2)、JVM 垃圾回收机制以及操作系统内核 TCP 队列均会承受极限考验。
|
2月前
|
存储 人工智能 弹性计算
新版阿里云服务器租赁费用解析:收费标准、计费模式与新老用户活动报价完整参考
在云技术普及的当下,云服务器已经成为个人开发者、中小企业搭建网站、部署AI服务、运行业务系统的基础算力载体。很多用户初次接触云服务器租赁的时候,很容易被复杂的计费项、多种付费模式、新老用户差异化活动报价混淆,只关注实例本身价格,忽略磁盘、带宽、快照等附加资源开销,最终实际账单远高于前期预估。阿里云服务器整体费用并不是单一固定数值,总租赁成本由计算实例、存储磁盘、公网网络、附加增值服务多个模块共同组成,不同计费模式、实例规格、地域、用户身份都会直接影响最终支出。本文完整拆解整套收费体系,讲解各类计费模式的底层规则,梳理不同类型实例的报价参考,同时讲解成本排查、费用优化的实操手段,附带可直接执行的
363 0
|
8月前
|
弹性计算 运维 安全
2026最新!阿里云轻量应用服务器与ECS区别 + 选择指南,看完不踩坑
2026最新阿里云服务器选型指南:轻量应用服务器适合个人开发者、学生及低流量网站/博客/测试环境,开箱即用、成本可控;云服务器ECS面向企业级用户,支持高并发、弹性伸缩与复杂架构,适用游戏、大数据、AI等场景。二者在场景、人群、计费、网络、运维等方面差异显著,按需选择不踩坑。(239字)
966 4
|
3月前
|
存储 架构师 数据库
从DBA到数据架构师:技术债务管理是分水岭
“架构债”在业务快速迭代中被不断放大,最终成为系统稳定性的定时炸弹。本文从数据架构的视角出发,拆解数据库技术债务的四种典型类型,提供识别、评估和偿还的完整方法论,帮助读者从“数据库管理员”升级为“数据架构师”。
|
4月前
|
存储 人工智能 运维
当 AI 真正走进企业文件区:CDE Agent 如何把"权限与审计"织进每一次对话
CDE Agent 是阿里云盘企业版推出的合规型AI助手,将权限控制、空间隔离与全链路审计深度内嵌于产品底层。它不突破员工权限边界,所有产出自动归档至指定目录,并复用原生审计体系,确保金融、医疗等高监管行业AI应用全程可控、可溯、可管。
|
5月前
|
人工智能 JavaScript 数据挖掘
让你的Hermes能力翻倍:从skills.sh装技能包的完整指南
Hermes Agent装好了但总觉得不够好用?问题可能不在模型,在技能包。本文详解skills.sh这个有600+社区技能的Agent应用商店,手把手教你两种集成方式——npx skills add配合external_dirs配置的通用方案,以及hermes skills install原生一键安装的省事路线,让你的Hermes真正"懂行"
926 0
|
6月前
|
人工智能 API
LobeHub配置Claude API实测:5分钟完成接入国内中转服务
# LobeHub配置Claude API实测:5分钟完成接入国内中转服务 LobeHub是一款开源AI对话界面,支持自定义API接入。近日实测接入国内Claude API中转服务,全程约5分钟,以
|
6月前
|
人工智能 数据挖掘 测试技术
云端MoE vs 本地Dense:DeepSeek与Gemma4 26B的选题策划能力量化对比评测
本文开展真实A/B测试,对比云端DeepSeek与本地Gemma4 26B在“智能生活办公”热点选题策划中的表现。前者胜在数据精准、转化直接;后者强于概念升华与立意深度。Hermes Agent实现统一调度与全链路自动化。
510 0
|
8月前
|
人工智能 算法 自动驾驶
《流浪地球》中的AI伦理困境:如果AI决定谁该被抛弃,人类该如何应对?
《流浪地球》撕开AI伦理的真相:当MOSS以“最优解”之名决定谁生谁死,现实中的算法早已在医疗、保险、招聘中隐性裁决人的价值。它不偏不倚?不,它忠实地复制人类偏见,披着“客观”外衣行不公之事。真正的危机,不是AI作恶,而是我们主动交出判断权。(239字)
458 2