右侧边栏实现(博客)

1.html

可以加一个遮罩层mask,nav如下:

<nav>
			<div class="logo"><a haref="#">生如夏花</a></div>
			<ul>				
				<li class="active"><a href="" >首页</a></li>
				<li><a href="article.html" >简介</a></li>
				<li><a href="">关于</a></li>
				<li ><a href="">联系</a></li>
				<li id="sidebar_trigger"><i  class="fa fa-bars "></i></li>
			</ul>
		</nav>

侧边栏如下:

<div class="mask"></div>
<div id="sidebar">
	<ul>		
		<li><a href="#">list2</a></li>
		<li><a href="#">list2</a></li>
		<li><a href="#">list2</a></li>
		<li><a href="#">list2</a></li>
	</ul>	
</div>

2.css

#sidebar{
	/*display: none;*/	
	position: fixed;
	right:-300px;
	top:0;
	bottom: 0;
	color:#fff;
	width :300px;
	background: #333;
	text-align: center;
	/*加出来的动画*/
	transition: right 0.5s; 
}
#sidebar ul{
	list-style: none;
	padding: 0;
	margin: 0;
	width: 100%;
}
/*侧边栏打开后显示遮罩层,变现出层级效果*/
.mask{
	display: none;
	position: fixed;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	background: rgba(0,0,0,0.5);
}
/*右侧边栏*/
#sidebar ul a{

	padding:10px 20px;
	display: inline-block;
	text-decoration: none;
	color:#fff;
	width: 100%;
}
#sidebar ul a:hover{
	background: #444;;
	width: 100%
}

3.js

;$(function()
{
  'use strict';
   var sidebar = $('#sidebar'); //选择侧栏
   var mask=$(".mask"); //选择遮罩
   var backButton = $('.back-to-top'); //选择返回顶部
   var sidebar_trigger=$('#sidebar_trigger');//选择侧栏触发器

    function showSidebar(){  //显示侧栏     
      mask.fadeIn();  //显示mask
      sidebar.animate({'right':0});  //调整侧栏css     
      //sidebar.css('right',0);//两种写法都ok         
      }  


    function hideSideBar(){  //隐藏mask
      	mask.fadeOut();
      	sidebar.css('right',-sidebar.width());
      	console.log("mask");
      }


     sidebar_trigger.on('click',showSidebar); //监听侧栏触发器点击
     mask.click(hideSideBar);   //监听mask
     
})
效果:点击最右端的更多显示出侧边栏和遮罩层。点击遮罩层再隐藏这两个东西。




  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值