The menu has such a smooth animation because of a thing called “easing”.
“The term easing refers to gradual acceleration or deceleration during an animation, which helps your animations appear more realistic. Easing creates a more natural appearance of acceleration or deceleration by gradually adjusting the rate of change.”
This menu iss designed for the Top level. It doesn't support sub navigation. If anyone want Sub Navigation then simply choose any other add-on from this marketplace. This might be not for them.
Here is the basic structure.
Menu items have a class assigned to it that will designate the color of the block. Within each menu block there is a description & icon that will be hidden by default. It will show when you hover over the menu item. The "custom" class stands for user defined gradiant. User have the ability to choose gradiant color while adding menu item. It can also choose font color for each menu item.
There are some pre defined menu classes available. Also the custom class lets you add your own gradiant.
All of our jQuery code will go into a file called “animated-menu.js”. The file is under /packages/ronyd_animated_nav/blocks/animated_nav/js/ directory.
My current block use the easeOutBounce effect. Though there are several other easing effects available in marketplace which is also good to use.
Here is the list:
linear, swing, easeInQuad, easeOutQuad, easeInOutQuad, easeInCubic, easeOutCubic, easeInOutCubic, easeInQuart, easeOutQuart, easeInOutQuart, easeInQuint, easeOutQuint, easeInOutQuint, easeInExpo, easeOutExpo, easeInOutExpo, easeInSine, easeOutSine, easeInOutSine, easeInCirc, easeOutCirc, easeInOutCirc, easeInElastic, easeOutElastic, easeInOutElastic, easeInBack, easeOutBack, easeInOutBack, easeInBounce, easeOutBounce, easeInOutBounce.
Here is the url to check the easing effects in leve. http://api.jqueryui.com/easings/
You can use any of these effects instead of easeOutBounce. Just open the“animated-menu.js” file and find the word easeOutBounce & replace it with any of the one effect listed above. You have to change the same in both occurance in that js.
Note: Make it sure to have a backup before doing any change. Also if you are not familier with js, just leave it as it is there. Don't try to change anything.