<span xmlns=''><p>jQuery provide an function "animate", it can be extended to add your custom animation.
        </p><p><span style='font-family:Times New Roman; font-size:18pt'><strong>animate(params, speed, easing, callback)
        </strong></span></p><ul><li><span style='font-family:Courier New; font-size:10pt'>params (Hash)</span><span style='font-family:Times New Roman; font-size:12pt'>: A set of style attributes that you wish to animate, and to what end.
        </span></li><li><span style='font-family:Courier New; font-size:10pt'>speed (String|Number)</span><span style='font-family:Times New Roman; font-size:12pt'>: (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).
        </span></li><li><span style='font-family:Courier New; font-size:10pt'>easing (String)</span><span style='font-family:Times New Roman; font-size:12pt'>: (optional) The name of the easing effect that you want to use, out of box there are two values "linear" and "swing"  (Plugin Required).
        </span></li><li><span style='font-family:Courier New; font-size:10pt'>callback (Function)</span><span style='font-family:Times New Roman; font-size:12pt'>: (optional) A function to be executed whenever the animation completes, executes once for each element animated against.
        </span></li></ul><p><span style='font-family:Times New Roman; font-size:12pt'>    easing: {
        </span></p><p><span style='font-family:Times New Roman; font-size:12pt'>        linear: function( p, n, firstNum, diff ) {
        </span></p><p><span style='font-family:Times New Roman; font-size:12pt'>            return firstNum + diff * p;
        </span></p><p><span style='font-family:Times New Roman; font-size:12pt'>        },
        </span></p><p><span style='font-family:Times New Roman; font-size:12pt'>        swing: function( p, n, firstNum, diff ) {
        </span></p><p><span style='font-family:Times New Roman; font-size:12pt'>            return ((-Math.cos(p*Math.PI)/2) + 0.5) * diff + firstNum;
        </span></p><p><span style='font-family:Times New Roman; font-size:12pt'>        }
        </span></p><p><span style='font-family:Times New Roman; font-size:12pt'>    },
        </span></p><p>All the build in animate is based on this function
        </p><p>
         </p><p><span style='font-family:Times New Roman; font-size:12pt'>The key aspect of this function is the object of style properties that will be animated, and to what end. Each key within the object represents a style property that will also be animated (for example: "height", "top", or "opacity").
        </span></p><p><span style='font-family:Times New Roman; font-size:12pt'>Note that properties should be specified using camel case eg. marginLeft instead of margin-left.
        </span></p><p><span style='font-family:Times New Roman; font-size:12pt'>The value associated with the key represents to what end the property will be animated. If a number is provided as the value, then the style property will be transitioned from its current state to that new number. Otherwise if the string "hide", "show", or "toggle" is provided, a default animation will be constructed for that property.
        </span></p><p>
         </p><p>.</p></span>