JqueryUI - Effect



This chapter will discuss the effect() method, which is one of the methods used to manage jQueryUI visual effects. effect() method applies an animation effect to the elements without having to show or hide it.

Syntax

The effect() method has the following syntax −

.effect( effect [, options ] [, duration ] [, complete ] )
Sr.No. Parameter & Description
1

effect

This is a String indicating which effect to use for the transition.

2

options

This is of type Object and indicates effect-specific settings and easing. Additionally, each effect has its own set of options that can be specified common across multiple effects described in the table jQueryUI Effects.

3

duration

This is of type Number or String, and indicates the number of milliseconds of the effect. Its default value is 400.

4

complete

This is a callback method called for each element when the effect is complete for this element.

jQueryUI Effects

The following table describes the various effects that can be used with the effects() method −

Sr.No. Effect & Description
1

blind

Shows or hides the element in the manner of a window blind: by moving the bottom edge down or up, or the right edge to the right or left, depending upon the specified direction and mode.

2

bounce

Causes the element to appear to bounce in the vertical or horizontal direction, optionally showing or hiding the element.

3

clip

Shows or hides the element by moving opposite borders of the element together until they meet in the middle, or vice versa.

4

drop

Shows or hides the element by making it appear to drop onto, or drop off of, the page.

5

explode

Shows or hides the element by splitting it into multiple pieces that move in radial directions as if imploding into, or exploding from, the page.

6

fade

Shows or hides the element by adjusting its opacity. This is the same as the core fade effects, but without options.

7

fold

Shows or hides the element by adjusting opposite borders in or out, and then doing the same for the other set of borders.

8

highlight

Calls attention to the element by momentarily changing its background color while showing or hiding the element.

9

puff

Expands or contracts the element in place while adjusting its opacity.

10

pulsate

Adjusts the opacity of the element on and off before ensuring that the element is shown or hidden as specified.

11

scale

Expands or contracts the element by a specified percentage.

12

shake

Shakes the element back and forth, either vertically or horizontally.

13

size

Resizes the element to a specified width and height. Similar to scale except for how the target size is specified.

14

slide

Moves the element such that it appears to slide onto or off of the page.

15

transfer

Animates a transient outline element that makes the element appear to transfer to another element. The appearance of the outline element must be defined via CSS rules for the ui-effects-transfer class, or the class specified as an option.

Examples

The following examples demonstrates the use of effect() method with different effect listed in the above table.

Effect - Shake

<!doctype html>
<html lang = "en">
   <head>
      <meta charset = "utf-8">
      <title>jQuery UI effect Example</title>
      <link href = "https://code.jquery.com/ui/1.10.4/themes/ui-lightness/jquery-ui.css"
         rel = "stylesheet">
      <script src = "https://code.jquery.com/jquery-1.10.2.js"></script>
      <script src = "https://code.jquery.com/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>

Let us save the above code in an HTML file effectexample.htm and open it in a standard browser which supports javascript, you should see the following output. Now, you can play with the result −

Effect - explode

<!doctype html>
<html lang="en">
   <head>
      <meta charset="utf-8">
      <title>jQuery UI effect Example</title>
      <link href="https://code.jquery.com/ui/1.10.4/themes/ui-lightness/jquery-ui.css"
         rel="stylesheet">
      <script src="https://code.jquery.com/jquery-1.10.2.js"></script>
      <script src="https://code.jquery.com/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>

Let us save the above code in an HTML file effectexample.htm and open it in a standard browser which supports javascript, you must also see the following output. Now, you can play with the result −

Advertisements