Create a simple container with height in full screen (100vh).
Position for example, using position: fixed as it is c left: 0; top: 0; (on idea should be without fixed, but in this case you need the main content to put in your container, will understand).
Then you set transform: translate3d(0,100%,0); for this container to the default was on the bottom.
Click to download inside the content. You can at least primitive $.load api.jquery.com/load
to do, but good is better to use the templating engine and the server to obtain the content only can get the left stuff.
Once loaded (in the case of getting data as json it should work almost instantly) add the block class, so he went beautifully at the bottom.
But this is only a base. In addition, it will be necessary to do a lot of small things that in the end everything looked nice and did not irritate anybody.
They have a way on the website made crooked. When you open the "history" changing the url in #history, but if you click the browser "back" the url will change, but the page back I will not leave, although it is quite simple functionality.
EDIT: checked now the site better, there's nothing not dynamically loaded, they are all pre-loaded into the containers, that is quite simple.