Here is how I would approach it (of course this is just an example of the animation, I've left out everything else):
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<style>
body, html {margin:0;padding:0;}
#iphone {width:320px; height:480px; overflow:hidden; border:solid black thin; display:block;}
#menu {position:fixed; top:1;left:-250px; width:250px; height:480px; display:block; background-color:#868686;}
#content {position:absolute; width:320px; background-color:#cccccc; display:block;}
</style>
</head>
<body>
<div id="iphone">
<div id="menu">I am a menu <button onclick="hideMenu();">close</button></div>
<div id="content">I am the site content, click this <button onclick="showMenu();">menu</button></div>
</div>
</body>
<script>
var m=document.getElementById('menu');
var c=document.getElementById('content');
function showMenu(){
if(m.offsetLeft<0){
m.style.left=(m.offsetLeft+10)+'px';
c.style.left=(c.offsetLeft+10)+'px';
setTimeout(showMenu,16)
}
}
function hideMenu(){
if(m.offsetLeft>-250){
m.style.left=(m.offsetLeft-10)+'px';
c.style.left=(c.offsetLeft-10)+'px';
setTimeout(hideMenu,16)
}
}
</script>
</html>