toggle() method in jquery

toggle() in jQuery

toggle() method is used to toggle between show() and hide() method.

Using this method, the specified elements if visible can be made hidden, similarly if the element is hidden it will be made visible.

.toggle() can be used as an animation method by providing a duration, a plain object, or a "complete" function.

When the .toggle() is used as the animation method, the width, height, and opacity of the elements are animated simultaneously.

Durations are specified in milliseconds, higher values are used to indicate slower animations.

By setting = true all jQuery effects can be turned off globally , which in turn sets the duration to 0.

Syntax 1


In the above syntax, elements will be toggled between both showing and hiding immediately without any animation.

Syntax 2


  • duration
    • Default value is 400.
    • number - Integer values are given in milliseconds.
    • slow - It denotes 600 milliseconds.
    • fast - It denotes 200 milliseconds.
  • easing - It is optional and is used to specify the speed at which the animation progresses.It can have two values.
    • swing - It is a default value, animation progresses in an irregular way.
    • linear - It specifies that the animation progresses at a constant pace.
  • complete - It is optional. It indicates a function which will be executed after the element is hidden.
Syntax 3


  • options - Given below options are optional
    • duration - It can be defined by string or number and is used to determine how long the animation will run.
    • easing - It is defined by string and is used to determine for transition which easing function to be used.
    • queue - It is denoted by Boolean, and is used to determine whether to place the animation in the effects queue. When a custom queue name is used the animation does not automatically start; you must call .dequeue("queuename") to start it. If it is specified as false, the animation will begin immediately.
    • specialEasing - It is an object which contains one or more of the CSS properties and these properties are defined by arguments and its corresponding easing functions.
    • step - It is used to denote a function for each element when calling animated property.
    • progress - It is used to denote a function to be called after each step of the animation.
    • complete - It is used to denote a function, which is called after the animation on an element is complete.
    • start - It is used to denote a function, when the elements animation begins.
    • done - It is used to denote a function, when the animation on an element completes.
    • fail - It is used to denote a function, when the animation of an element fails to complete.
    • always - It is used to denote a function, when the animation on an element completes or stops without completing.
Syntax 4


  • display
    • true - to show the element.
    • false - to hide the element.

Example 1- show or hide the element

Try Yourself

Example 2 - show or hide element within specified milliseconds

Try Yourself

Example 3 - toggle() with complete function

Try Yourself

Example 4 - calling complete function using function name

Try Yourself

Example 5 - show or hide element using easing(linear) value

Try Yourself

Example 6 - setting toggle true or false

Try Yourself

Example 7 - toggle() with options

Try Yourself

Example 8 - toggle() with options and progress bar

Try Yourself