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.
The effect() method has the following syntax −
.effect( effect [, options ] [, duration ] [, complete ] )
effect
This is a String indicating which effect to use for the transition.
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.
duration
This is of type Number or String, and indicates the number of milliseconds of the effect. Its default value is 400.
complete
This is a callback method called for each element when the effect is complete for this element.
The following table describes the various effects that can be used with the effects() method −
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.
bounce
Causes the element to appear to bounce in the vertical or horizontal direction, optionally showing or hiding the element.
clip
Shows or hides the element by moving opposite borders of the element together until they meet in the middle, or vice versa.
drop
Shows or hides the element by making it appear to drop onto, or drop off of, the page.
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.
fade
Shows or hides the element by adjusting its opacity. This is the same as the core fade effects, but without options.
fold
Shows or hides the element by adjusting opposite borders in or out, and then doing the same for the other set of borders.
highlight
Calls attention to the element by momentarily changing its background color while showing or hiding the element.
puff
Expands or contracts the element in place while adjusting its opacity.
pulsate
Adjusts the opacity of the element on and off before ensuring that the element is shown or hidden as specified.
scale
Expands or contracts the element by a specified percentage.
shake
Shakes the element back and forth, either vertically or horizontally.
size
Resizes the element to a specified width and height. Similar to scale except for how the target size is specified.
slide
Moves the element such that it appears to slide onto or off of the page.
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.
The following examples demonstrates the use of effect() method with different effect listed in the above table.
<!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 −
<!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 −
 Print
 Add Notes
 Bookmark this page