jQuery UI 实例 – 特效(Effect)

jQuery UI Effect(特效)实例

jQuery UI 的 Effects 核心提供丰富的动画效果,可用于 .show().hide().toggle(),或独立 .effect() 调用。常见效果包括:blind、bounce、clip、drop、explode、fade、fold、highlight、puff、pulsate、scale、shake、size、slide、transfer 等。

此外,还有类动画:.addClass().removeClass().toggleClass().switchClass() 支持带效果过渡。

官方演示地址:https://jqueryui.com/effect/(可查看所有效果)

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

1. 基本效果演示(.effect())

点击按钮应用不同效果。

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>jQuery UI Effects 示例</title>
  <link rel="stylesheet" href="//code.jquery.com/ui/1.13.2/themes/smoothness/jquery-ui.css">
  <script src="//code.jquery.com/jquery-3.6.0.min.js"></script>
  <script src="//code.jquery.com/ui/1.13.2/jquery-ui.min.js"></script>
  <style>
    #box { width: 100px; height: 100px; background: #4CAF50; margin: 20px; display: none; }
  </style>
</head>
<body>
  <button data-effect="bounce">Bounce(弹跳)</button>
  <button data-effect="explode">Explode(爆炸)</button>
  <button data-effect="shake">Shake(摇晃)</button>
  <button data-effect="pulsate">Pulsate(脉动)</button>

  <div id="box"></div>

  <script>
    $(function() {
      $("button").click(function() {
        var effect = $(this).data("effect");
        $("#box").show().effect(effect, { times: 3 }, 1000);  // times 只对某些效果有效
      });
    });
  </script>
</body>
</html>

2. show/hide/toggle 带效果

替换默认的快速显示/隐藏。

<button id="show">Show (blind)</button>
<button id="hide">Hide (clip)</button>
<button id="toggle">Toggle (puff)</button>

<div id="panel" style="width:200px;height:150px;background:#2196F3;padding:20px;color:white;">
  这是一个面板内容
</div>

<script>
  $("#show").click(function() { $("#panel").show("blind", { direction: "vertical" }, 1000); });
  $("#hide").click(function() { $("#panel").hide("clip", 1000); });
  $("#toggle").click(function() { $("#panel").toggle("puff", { percent: 200 }, 1000); });
</script>

3. 类切换带动画(addClass/removeClass 等)

平滑过渡 CSS 类变化(如颜色、大小)。

<style>
  .big { font-size: 2em; color: red; background: yellow; padding: 20px; }
</style>

<div id="text">点击我切换样式</div>

<script>
  $("#text").click(function() {
    $(this).toggleClass("big", 1000);  // 1秒内切换类
    // 或使用 switchClass
    // $(this).switchClass("small", "big", 1000);
  });
</script>

4. 颜色动画(animate + color 插件)

jQuery UI 自带颜色动画支持。

<button id="colorAnim">颜色动画</button>
<div id="colorBox" style="width:100px;height:100px;background:green;"></div>

<script>
  $("#colorAnim").click(function() {
    $("#colorBox").animate({
      backgroundColor: "#ff0000",
      width: "200px",
      height: "200px"
    }, 1500);
  });
</script>

常见效果列表(可在 .effect() 或 show/hide 中使用):

  • blind(百叶窗)
  • bounce(弹跳)
  • clip(剪切)
  • drop(掉落)
  • explode(爆炸)
  • fade(淡入淡出)
  • fold(折叠)
  • highlight(高亮闪烁)
  • puff(膨胀消失)
  • pulsate(脉动)
  • scale(缩放)
  • shake(摇晃)
  • slide(滑动)
  • transfer(转移轮廓)

小技巧

  • 队列管理:使用 .delay().stop() 控制多个效果顺序。
  • easing:添加第二个参数如 "easeInExpo"(需引入 easing 插件)。
  • 自定义:结合 .animate() 实现更复杂动画。

Effects 可大大提升交互体验,常用于按钮反馈、面板切换、提示高亮。如果你需要 特定效果完整演示结合 Dialog/Accordion 的动画,或 Easing 扩展示例,请告诉我!

文章已创建 3350

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

相关文章

开始在上面输入您的搜索词,然后按回车进行搜索。按ESC取消。

返回顶部