There are many ways to do that.
If you have a dedicated navigation component, you can often request this already rendered (as HTML). Otherwise you can implement a Sling Model and expose the navigation as JSON as well. Depending on the page structure these components already have the JS/CSS dependencies included, otherwise you need to add them explicitly (in case they are handled globally on a page level already).
Jörg