La cosa più semplice è attingere agli elementi che vuoi inserire nel box dinamico da un box statico, opportunamente inserito nel documento e non visualizzato (per esempio impostando la proprietà CSS display: none;").
Poi dai a JavaScript il compito di inserire il contenuto al verificarsi dell'evento desiderato:
Nota: la proprietà innerHTML è una proprietà di lettura e scrittura; l'ho usata per brevità ed è molto comoda ma non è conforme agli standard W3C; inizialmente era una feature proprietaria inventata da Microsoft, poi però la sua implementazione si è rapidamente estesa anche agli altri browsers.codice:<html> <head> <title>JS labz</title> <script language="javascript" type="text/javascript"> <!-- function insertContent() { document.getElementById('target').innerHTML = document.getElementById('source').innerHTML; } //--> </script> </head> <body> <div id="target">Questo è il layer "target", in cui visualizzare il contenuto nascosto del layer "source".</div> Insert content <div id="source" style="display: none;"> Contenuto del layer "source", pieno di codice da far visualizzare nel layer "target"... etc etc etc...</div> </body> </html>
Qui hai una accesa discussione sull'utilizzo della proprietà innerHTML invece dei metodi corretti del DOM.

Rispondi quotando