There are a couple of options to offer this kind of functionality.
Prefetching.
Mozilla: Link Prefetching FAQ
Adding the following to the head
of page1.htm would allow background prefetching of page2.htm in browsers supporting this functionality.
<link rel="next" href="page2.htm" >
As I said, I am not sure of the browsers which do, and do not, support this functionality, but, if you were wanting to provide the same functionality for all browsers, you could also code, in jQuery, a function which runs for any browsers which do not support the Prefetch, to create a hidden iFrame.
IFrames
StackOverflow: iframe preloading
Creating an iframe, like the following, either through basic HTML coding, or dynamically using jQuery, would load page2.htm whilst still displaying page1.htm (and should provide a performance boost so long as the referenced page is cache-friendly).
<iframe src="page2.htm" width="1" height="1" frameborder="0" scrolling="no" style="position:absolute;top:-3000px;left:-3000px;></iframe>