left的方法:
比如让class为menu的元素宽为300px,高100%的,设置left为-300px;在这期间可以加一个过渡transition:left 0.3s ...;
然后让class为menu active的元素设置 left设置为0就可以了 ,在这期间可以加一个过渡transition:left 0.3s ...;
然后可以通过Jquery的toggleClass('active')来实现切换
translate
比如让class为menu的元素宽为300px,高100%的,设置left为-300px;在这期间可以加一个过渡transition:left 0.3s ...;
然后让class为menu active的元素设置 transform:translate3d(-300px,0,0) ,在这期间可以加一个过渡transition:left 0.3s ...;
然后可以通过Jquery的toggleClass('active')来实现切换
这个过程中 需要注意 body需要overflow:hidden(不然会有滚动条,可设置overflow-x即可)
left 和 translate 最好用translate ,translate3d可以开启GPU硬件加速,性能会更好,体验会更流畅
我github有类似小组件样式
github: IFmiss
希望能解决你的问题
<!doctype html><html>
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>jQuery弹出侧边栏滑动菜单 - 何问起</title><base target="_blank" />
<link rel="stylesheet" href="hto/html5/19/css/reset.css">
<link rel="stylesheet" href="htcom/texiao/html5/19/css/style.css">
<script language="javascript" src="om/ziyuan/jquery/jquery-2.2.0.min.js"></script>
<script language="javascript" src="js/main.js"></script>
<!--[if IE]>
<script src="hte.com/texiao/html5/4/html5shiv.min.js"></script>>
<![endif]-->
</head>
<body>
<main>
<header>
<h1>jQuery弹出侧边栏滑动菜单 <span>A Full-Screen Pushing Navigation</span></h1>
<p>A full page menu, that replaces the current content by pushing it off the screen.</p>
<p><a href="htt.com/">首页</a><a href="hm/texiao/">特效</a><a href="httm/h/bjaf/manpingmenu.htm">原文</a>
</p>
</header>
</main>
<a href="#cd-nav">
Menu
<span></span>
<svg x="0px" y="0px" width="54px" height="54px" viewBox="0 0 54 54">
<circle fill="transparent" stroke="#656e79" stroke-width="1" cx="27" cy="27" r="25" stroke-dasharray="157 157" stroke-dashoffset="157"></circle>
</svg>
</a>
<div id="cd-nav">
<div>
<div>
<h2>导航菜单</h2>
<nav>
<ul>
</ul>
</nav>
</div>
<div>
<address>
<ul>
<li><a href="mailto:hovertree@hovertree.com">hovertree@hovertree.com</a></li>
<li>021-00000000</li>
<li>
<span>何问起</span>
<span>hovertree.com</span>
<span>keleyi菜单</span>
</li>
</ul>
</address>
</div>
</div>
</div>
</body>
</html>