当前位置: 首页 > news >正文

jQuery UI 实例 - 切换 Class(Toggle Class)

jQuery UI ToggleClass(切换 Class)特效实例

toggleClass()是 jQuery UI Effects 中非常实用的方法,它可以以动画效果在添加和移除 CSS 类之间切换。如果元素已有该类,则平滑移除;如果没有,则平滑添加。常用于按钮激活状态、选中高亮、折叠面板开关、主题切换、表单字段焦点等交互反馈。

它支持持续时间、easing 缓动函数和回调函数,比普通.toggleClass()更富有动态感。

官方文档:https://jqueryui.com/toggleClass/

下面提供几个渐进实例,代码使用最新 CDN,可直接复制到 HTML 文件测试。

1.基础切换 Class 动画

点击元素自身切换状态。

<!DOCTYPEhtml><html><head><metacharset="utf-8"><title>jQuery UI ToggleClass 示例</title><linkrel="stylesheet"href="//code.jquery.com/ui/1.13.2/themes/smoothness/jquery-ui.css"><scriptsrc="//code.jquery.com/jquery-3.6.0.min.js"></script><scriptsrc="//code.jquery.com/ui/1.13.2/jquery-ui.min.js"></script><style>.active{background:#2196F3;color:white;font-size:1.6em;padding:30px;border-radius:12px;box-shadow:0 10px 25pxrgba(33,150,243,0.4);transform:scale(1.1)rotate(2deg);}#box{width:200px;height:120px;background:#795548;color:white;text-align:center;line-height:120px;margin:40px auto;cursor:pointer;border-radius:8px;}</style></head><body><divid="box">点击我切换状态</div><script>$(function(){$("#box").click(function(){$(this).toggleClass("active",1000);// 1秒内切换类});});</script></body></html>
2.按钮控制切换 + 缓动效果

使用独立按钮控制,并添加弹跳缓动。

<buttonid="toggleBtn">切换状态</button><style>.success{background:#4CAF50;color:white;transform:scale(1.15);box-shadow:0 0 30pxrgba(76,175,80,0.6);}</style><script>$("#toggleBtn").click(function(){$("#box").toggleClass("success",1200,"easeOutBounce");});</script>
3.多个类同时切换 + 回调

切换多个类,并在动画结束后提示。

<style>.selected{background:#FF9800;font-weight:bold;}.enlarged{font-size:2em;transform:rotate(-5deg);}</style><buttonid="multiToggle">切换选中+放大</button><script>$("#multiToggle").click(function(){$("#box").toggleClass("selected enlarged",1500,function(){varhasClass=$(this).hasClass("selected");alert(hasClass?"已激活多重状态!":"已恢复默认");});});</script>
4.常见应用:折叠面板开关按钮

结合图标,实现“展开/收起”按钮效果。

<buttonid="collapseBtn"class="ui-button"><spanclass="ui-icon ui-icon-triangle-1-s"></span>展开详情</button><divid="content"style="display:none;padding:20px;background:#eee;">这里是隐藏的详细内容...</div><style>.open{transform:rotate(180deg);}</style><script>$("#collapseBtn").click(function(){$("#content").slideToggle(800);// 内容滑动显示/隐藏$(this).toggleClass("open",600);// 箭头旋转动画$(this).find("span").toggleClass("ui-icon-triangle-1-s ui-icon-triangle-1-n",600);$(this).text(function(i,text){returntext.includes("展开")?"收起详情":"展开详情";});});</script>

小技巧

  • 可动画属性:所有数值型 CSS(如 color、background、width、font-size、opacity、transform、box-shadow 等)都会平滑过渡。
  • 队列动画:连续多次 toggleClass 会自动排队,形成连续效果。
  • 与其他 Effects 结合:如先.effect("shake")再 toggleClass 实现错误提示。
  • 性能:避免在大量元素上同时使用复杂动画。

toggleClass() 是实现交互状态切换的最佳方式之一,常用于导航高亮、列表选中、模式切换(暗黑/明亮主题)等。如果你需要暗黑模式切换列表多选高亮、或表单字段错误/正确状态动画的完整示例,请告诉我!

http://www.cnnetsun.cn/news/166291.html

相关文章:

  • jQuery UI 实例 - 定位(Position)
  • 自走式除草机器人结构设计
  • Open-AutoGLM体温监测实战指南(从部署到数据分析全流程曝光)
  • Open-AutoGLM如何实现个性化体重预测:3个你必须掌握的技术细节
  • 【家庭自动化终极方案】:用Open-AutoGLM实现零遗忘家务安排
  • GraphRAG实战终极指南!从0到1打通OpenAI+LangChain+Neo4j,收藏这篇就够了!
  • 最近在研究石墨烯材料,这玩意儿真是神奇。说它是“材料界的明星”一点也不夸张。石墨烯的导电性和导热性都超强,而且它只有一层碳原子厚,简直是纳米技术的完美代表
  • Open-AutoGLM如何重构洗衣流程:9大优化策略全公开
  • 【AI营养师来了】:Open-AutoGLM饮食热量统计系统深度测评与优化建议
  • 基于单片机的智能门禁系统的设计与实现
  • 基于PLC工业机器人视觉定位及自动码垛系统的设计
  • 基于SSM的大王门店管理系统设计与实现
  • 网络安全完全指南:从小白到高手的系统学习路线与实战精讲
  • C++ 最強武器:利用類型系統實現零成本抽象
  • (28)全注解开发底层原理
  • jQuery UI 实例 - 对话框(Dialog)
  • 模型版本迭代中的回归测试策略
  • 【Open-AutoGLM家务提醒安排】:揭秘智能家庭任务调度背后的AI黑科技
  • Open-AutoGLM食材购买避坑指南:90%人忽略的3类关键营养匹配原则
  • Open-AutoGLM任务中断恢复实战(断点续训技术大揭秘)
  • 【Open-AutoGLM饮食热量统计】:揭秘AI自动识别食物热量的黑科技与实测效果
  • Linly-Talker如何避免‘恐怖谷效应’?外观设计心理学研究
  • 基于Spring Boot的儿童福利院管理系统的设计与实现毕业设计
  • 基于Android的网上点餐APP
  • 如何用Open-AutoGLM实现秒级故障响应?一线架构师亲授压箱底方案
  • Open-AutoGLM日志系统揭秘,掌握这6个参数才算真正入门
  • jQuery UI 实例 - 放置(Droppable)
  • 探索三相两电平光伏逆变器DC - AC部分的Simulink仿真之旅
  • 【AI推理服务稳定性提升】:基于Open-AutoGLM的后台运行配置最佳实践
  • Open-AutoGLM网络配置避坑指南(一线专家亲授12年实战经验)