# jQuery UI toggle

## Overview

[edit]

### toggle( effect, [options], [speed], [callback] )

The enhanced toggle method optionally accepts jQuery UI advanced effects.

Uses a specific effect on an element to toggle the element if the first argument is an effect string.

### Dependencies

- Effects Core

### Example

- Demo
- View Source

Apply the effect slide if you click on the p to toggle a div.

    $("p").click(function () {
          $("div").toggle("slide", {}, 1000);
        });

    <!DOCTYPE html>
    <html>
    <head>
      <link type="text/css" href="http://jqueryui.com/latest/themes/base/ui.all.css" rel="stylesheet" />
      <script type="text/javascript" src="http://jqueryui.com/latest/jquery-1.3.2.js"></script>
      <script src="http://ui.jquery.com/latest/ui/effects.core.js"></script>
    <script src="http://ui.jquery.com/latest/ui/effects.slide.js"></script>
    <style type="text/css">
      div { display: none; margin: 0px; width: 100px; height: 80px; background: blue; position: relative; }
    </style>
      <script type="text/javascript">
      $(document).ready(function(){
        $("p").click(function () {
          $("div").toggle("slide", {}, 1000);
        });
      });
      </script>
    </head>
    <body style="font-size:62.5%;">

    <p>Click me</p><div></div>

    </body>
    </html>

## Arguments

- ### effect

  Type:
    String

  The effect to be used. Possible values: 'blind', 'clip', 'drop', 'explode', 'fold', 'puff', 'slide', 'scale', 'size', 'pulsate'.

- ### options

  Type:
    Hash
  Optional

  A object/hash including specific options for the effect.

- ### speed

  Type:
    String, Number
  Optional

  A string representing one of the three predefined speeds ("slow", "normal", or "fast") or the number of milliseconds to run the animation (e.g. 1000).

- ### callback

  Type:
    Function
  Optional

  A function that is called after the effect is completed.