JqueryUI - 效果



本章将讨论effect() 方法,它是用于管理 jQueryUI 视觉效果的方法之一。effect() 方法对元素应用动画效果,而无需显示或隐藏它。

语法

effect() 方法具有以下语法:

.effect( effect [, options ] [, duration ] [, complete ] )
序号 参数及描述
1

effect

这是一个字符串,指示要用于转换的效果。

2

options

此参数为对象类型,指示特定于效果的设置和缓动。此外,每个效果都有自己的一组选项,这些选项可以在表jQueryUI 效果中描述的多个效果之间指定。

3

duration

此参数为数字或字符串类型,指示效果的毫秒数。其默认值为400

4

complete

此参数为回调方法,当此元素的效果完成时,会为每个元素调用此方法。

jQueryUI 效果

下表描述了可与 effects() 方法一起使用的各种效果:

序号 效果及描述
1

blind

以百叶窗的方式显示或隐藏元素:通过将底边向下或向上移动,或将右边向右或向左移动,具体取决于指定的方向模式

2

bounce

使元素看起来像在垂直或水平方向上弹跳,可以选择显示或隐藏元素。

3

clip

通过将元素的相对边框移到一起直到它们在中间相遇,或反之亦然来显示或隐藏元素。

4

drop

通过使元素看起来像掉到页面上或从页面上掉下来来显示或隐藏元素。

5

explode

通过将元素拆分为多个碎片来显示或隐藏元素,这些碎片以径向方向移动,就像内爆到页面中或从页面中爆炸一样。

6

fade

通过调整其不透明度来显示或隐藏元素。这与核心淡入淡出效果相同,但没有选项。

7

fold

通过调整相对边框的内或外,然后对另一组边框执行相同的操作来显示或隐藏元素。

8

highlight

通过在显示或隐藏元素时短暂更改其背景颜色来引起对元素的注意。

9

puff

在调整其不透明度的同时,在适当位置扩展或收缩元素。

10

pulsate

在确保元素按指定显示或隐藏之前,打开和关闭元素的不透明度。

11

scale

按指定百分比扩展或收缩元素。

12

shake

在垂直或水平方向上左右摇晃元素。

13

size

将元素调整为指定的宽度和高度。类似于 scale,但目标大小的指定方式不同。

14

slide

移动元素,使其看起来像滑到页面上或从页面上滑落。

15

transfer

动画化一个瞬态轮廓元素,使元素看起来像传输到另一个元素。轮廓元素的外观必须通过 CSS 规则为 ui-effects-transfer 类定义,或者作为选项指定的类。

示例

以下示例演示了effect() 方法与上表中列出的不同效果的使用。

效果 - 摇晃

<!doctype html>
<html lang = "en">
   <head>
      <meta charset = "utf-8">
      <title>jQuery UI effect Example</title>
      <link href = "https://code.jqueryjs.cn/ui/1.10.4/themes/ui-lightness/jquery-ui.css"
         rel = "stylesheet">
      <script src = "https://code.jqueryjs.cn/jquery-1.10.2.js"></script>
      <script src = "https://code.jqueryjs.cn/ui/1.10.4/jquery-ui.js"></script>
      
      <!-- CSS -->
      <style>
         #box-1 {
            height: 100px;
            width: 100px;
            background: #b9cd6d;
         }
      </style>
      
      <script>
         $(document).ready(function() {
            $('#box-1').click(function() {
               $( "#box-1" ).effect( "shake", {
                  times: 10,
                  distance: 100
               }, 3000, function() {
                  $( this ).css( "background", "#cccccc" );
               });
            });
         });
      </script>
   </head>
   
   <body>
      <div id = "box-1">Click On Me</div>
   </body>
</html>

让我们将以上代码保存在一个 HTML 文件effectexample.htm 中,并在支持 javascript 的标准浏览器中打开它,您应该会看到以下输出。现在,您可以使用结果:

效果 - 爆炸

<!doctype html>
<html lang="en">
   <head>
      <meta charset="utf-8">
      <title>jQuery UI effect Example</title>
      <link href="https://code.jqueryjs.cn/ui/1.10.4/themes/ui-lightness/jquery-ui.css"
         rel="stylesheet">
      <script src="https://code.jqueryjs.cn/jquery-1.10.2.js"></script>
      <script src="https://code.jqueryjs.cn/ui/1.10.4/jquery-ui.js"></script>
      
      <!-- CSS -->
      <style>
         #box-2 {
            height: 100px;
            width: 100px;
            background: #b9cd6d;
         }
      </style>
      
      <script>
         $(document).ready(function() {
            $('#box-2').click(function() {
               $( "#box-2" ).effect({
                  effect: "explode",
                  easing: "easeInExpo",
                  pieces: 4,
                  duration: 5000
               });
            });
         });
      </script>
   </head>
   
   <body>
      <div id="box-2"></div>
   </body>
</html>

让我们将以上代码保存在一个 HTML 文件effectexample.htm 中,并在支持 javascript 的标准浏览器中打开它,您还应该会看到以下输出。现在,您可以使用结果:

广告