This chapter will discuss the toggle() method of jQueryUI visual effects. toggle() method toggles the show () or hide () methods depending on whether the element is hidden or not.
The toggle() method has the following syntax −
.toggle( effect [, options ] [, duration ] [, complete ] )
Sr.No. | Parameter & Description |
---|---|
1 | effect This is a String indicating which effect to use for the transition.This is a String and represents the effect to use when adjusting the element visibility. The effects are listed in the table below. |
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 determines how long the animation will run. Its default value is 400. |
4 | 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 −
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. |
The following example demonstrates the use of toggle() method with different effect listed in the above table.
<!doctype html> <html lang = "en"> <head> <meta charset = "utf-8"> <title>jQuery UI Toggle 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> .toggler { width: 500px; height: 200px; } #button { padding: .5em 1em; text-decoration: none; } #effect { width: 240px; height: 135px; padding: 0.4em; position: relative; } #effect h3 { margin: 0; padding: 0.4em; text-align: center; } </style> <script> $(function() { function runEffect() { $( "#effect" ).toggle('explode', 300); }; $( "#button" ).click(function() { runEffect(); return false; }); }); </script> </head> <body> <div class = "toggler"> <div id = "effect" class = "ui-widget-content ui-corner-all"> <h3 class = "ui-widget-header ui-corner-all">Toggle</h3> <p> Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore. </p> </div> </div> <a href = "#" id = "button" class = "ui-state-default ui-corner-all">Toggle</a> </body> </html>
Let us save the above code in an HTML file toggleexample.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 −
Click on the Toggle button to check how the classes are shown and hidden.