为了练手,自己学敲网站时刚好碰到需要制作侧边栏,在网上也查了各种插件以及框架都可以实现这个功能,但是想自己学着用js原生学一个试试,于是就初略完成了侧边栏的实现,可以让初学者参考参考,代码能力有限。
其中主要设计的就是animate()函数,animate() 方法执行 CSS 属性集的自定义动画。该方法通过CSS样式将元素从一个状态改变为另一个状态。CSS属性值是逐渐改变的,这样就可以创建动画效果。只有数字值可创建动画(比如 "margin:30px")。字符串值无法创建动画(比如 "background-color:red")。更多的使用请自己去搜索,我就不具体介绍了。另外就是利用了媒体查询的方法,通过检测当前设备的屏幕大小进行调整侧边栏的大小设计。媒体查询的方法可以针对不同的屏幕尺寸设置不同的样式,特别是如果你需要设置设计响应式的页面。
接下来是具体的实现,附上代码:
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width,initial-scale=1"/> <title>侧边栏</title> <link href="css/sideBar.css" rel="stylesheet" type="text/css" /></head><body> <div class="container"> <div class="header"> <div class="nav-icon"> <span></span> <span></span> <span></span> </div> </div> <div class="content">侧边栏内容</div> <div class="sideBar"> <div class="sideBar-left"> <div class="divider"></div> <div class="body-content"> <div class="messageWarning item"> <div><i class="message_icon"></i>消息提醒</div> <ul> <li class="news"> <i class="circle"></i><a href="javascript:void()">消息1</a> </li> <li class="news"> <i class="circle"></i><a href="javascript:void()">消息2</a> </li> <li class="news"> <i class="circle"></i><a href="javascript:void()">消息3</a> </li> <li class="news"> <i class="circle"></i><a href="javascript:void()">消息4</a> </li> </ul> </div> <div class="course item"> <div><i class="icon"></i>课程</div> <ul> <li class="myInfo"> <i class="circle"></i><a href="javascript:void()">我的课程</a> </li> <li class="Dynamic"> <i class="circle"></i><a href="javascript:void()">课程动态</a> </li> <li class="question"> <i class="circle"></i><a href="javascript:void()">问题空间</a> </li> <li class="homework"> <i class="circle"></i><a href="javascript:void()">课程作业</a> </li> </ul> </div> <div class="myHome item"> <a href="javascript:void()"> <i class="home_icon"></i>我的主页 </a> </div> <div class="exit item"> <a href="javascript:void()"> <i class="exit_icon"></i>退出 </a> </div> </div> </div> <div class="sideBar-right"></div> </div> </div></body><script src="js/jquery-2.1.4.min.js"></script><script src="js/sideBar.js"></script></html>
新闻热点
疑难解答
图片精选