bigSlide.jsjavascript
用一个 <a>
标签来控制侧边栏的开关。#menu
用来指向 id
为 menu
的侧边栏,menu-link
为这个 <a>
标签的类名。css
<a href="#menu" class="menu-link">☰</a>
侧边栏代码以下,因为须要实现的效果各不相同,因此各个 <li>
标签中设置的 style
并不同,这样的代码看起来很乱,其实仍是应该写在css中,并根据效果进行分类。java
<ul id="menu" class="panel" role="navigation" style="height: auto;"> <li style="line-height: 7em; border-bottom: 1px solid #fff;"> <a href="sub2.htm" style="font-size: 16px;"><b>< 全部课程内容</b></a> </li> <li style="padding-top: 1em; line-height: 3em;"> <a>第3节课 / 共4节课:</a> </li> <li style="padding-top: 1em; padding-bottom: 2em; line-height: 3em;"> <div class="even"> <span><a>上一节课</a></span> <span>|</span> <span><a>下一节课</a></span> </div> </li> </ul>
文件中还需引入所需的 jQuery 库以及 bigSlide 插件。jquery
<script type="text/javascript" src="js/jquery.min.js"></script> <script src="slide/bigSlide.js"></script>
最后则须要在 <body>
标签尾部加上初始化插件的代码。git
<script> $(document).ready(function() { $('.menu-link').bigSlide(); }); </script>
做为侧边栏的 <ul>
标签类名为 panel
,由于初始状态下须要让该标签隐藏在页面视口以外,因此须要做以下设置。另外侧边栏并不须要随着页面的上下滚动始终显示在视口中,因此默认的 position: fixed;
这个语句并不须要。github
.panel { left: -20em; /*left or right and the width of your navigation panel*/ width: 20em; /*should match the above value*/ }
最后一个 <li>
标签中的 <div>
标签设置为了 even
这个类,是为了让 <div>
标签中的多个 <span>
元素等宽分布,代码以下:ide
/* http://stackoverflow.com/questions/7245018/how-to-evenly-distribute-elements-in-a-div-next-to-each-other 将须要均匀分布的元素的外部 div 设置为 table, table-layout 设置为 fixed,可以让各元素占据相同宽度 */ div.even { display: table; width: 100%; table-layout: fixed; /* 各子元素宽度相同 */ } div.even span { display: table-cell; text-align: center; }