jQuery UI API 类别 – 特效(Effects)

jQuery UI API 类别 – 特效(Effects)

jQuery UI Effects 是 jQuery UI 的重要组成部分,它在 jQuery 核心特效(如 .animate().show().hide())基础上进行了扩展,主要增加了:

  • 颜色动画支持(使用 Color Animation 插件)。
  • 类切换动画.addClass().removeClass() 等带动画)。
  • 更多内置特效(如 explode、puff、bounce 等)。
  • 额外缓动函数(Easings)

这些特效主要通过 .effect() 方法应用,也可以通过扩展的 .show().hide().toggle() 来实现显示/隐藏时的动画效果。

官方文档:https://api.jqueryui.com/category/effects/

1. 核心方法(Effects Core)

这些是特效的基础方法,通常用于直接应用动画。

  • .effect(effectName, [options], [duration], [complete])
    对元素应用指定特效(不影响显示/隐藏)。
    示例:$("#elem").effect("explode", { pieces: 16 }, 1000);
  • .show(effectName, [options], [duration], [complete])
    显示元素,并使用指定特效。
  • .hide(effectName, [options], [duration], [complete])
    隐藏元素,并使用指定特效。
  • .toggle(effectName, [options], [duration], [complete])
    切换显示/隐藏,并使用指定特效。
  • 类动画方法(支持动画过渡类变化):
  • .addClass(className, [duration], [easing], [complete])
  • .removeClass(className, [duration], [easing], [complete])
  • .toggleClass(className, [state], [duration], [easing], [complete])
  • .switchClass(removeClassName, addClassName, [duration], [easing], [complete])

2. 内置特效类型(Built-in Effects)

jQuery UI 提供了以下预定义特效名称(字符串形式传入 .effect() 等方法):

| 特效名称 | 描述 | 示例视觉效果

|
|————–|——————————————-|—————————————————–|
| blind | 像百叶窗一样拉开/收起(垂直或水平)。 | |
| bounce | 弹跳效果(结合 hide/show 时会淡入/淡出)。| |
| clip | 垂直或水平剪切隐藏/显示。 | |
| drop | 淡入/淡出并滑动(方向可指定)。 | |
| explode | 分裂成碎片爆炸隐藏/显示。 | |
| fade | 简单淡入/淡出(等同 jQuery 的 fade)。 | |
| fold | 折叠效果(先水平再垂直)。 | |
| highlight| 先高亮背景色,再恢复。 | |
| puff | 放大并淡出隐藏 / 缩小并淡入显示。 | |
| pulsate | 脉冲式闪烁淡入/淡出。 | |
| scale | 缩放尺寸隐藏/显示。 | |
| shake | 水平或垂直抖动。 | |
| size | 调整宽高到指定尺寸。 | |
| slide | 滑动出/入视口(方向可指定)。 | |
| transfer| 将元素轮廓转移到另一个元素。 | |

3. 其他相关功能

  • 颜色动画:使用 .animate() 支持颜色属性(如 backgroundColor、color)。
  • Easings:额外缓动函数(如 easeInQuad、easeOutBounce 等),可在特效中通过 easing 选项指定。
  • 自定义特效:使用 $.effects.define("myEffect", function(options, done) { ... }) 创建新特效。

示例代码

$(function() {
    // 爆炸隐藏
    $("#btnExplode").click(function() {
        $("#box").hide("explode", { pieces: 25 }, 1000);
    });

    // 弹跳显示
    $("#btnBounce").click(function() {
        $("#box").show("bounce", { times: 5 }, 800);
    });

    // 缩放切换
    $("#btnScale").click(function() {
        $("#box").toggle("scale", { percent: 150 }, 600);
    });
});

注意:jQuery UI 已进入维护模式(最新 1.14.1),特效功能稳定但不再新增。新项目建议使用 CSS 动画或现代库(如 GSAP)。

如果您想了解某个具体特效(如 explode)的详细选项、参数或完整代码示例,请告诉我!

文章已创建 3318

发表回复

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

相关文章

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

返回顶部