本文将接着上部分来实现侧边栏的动态效果,开始侧边栏是不显示的,点击侧边栏菜单显示侧边栏,并呈现遮罩效果。点击遮罩,隐藏侧边栏。
1、在html中建立遮罩的div
<div class="mask"></div>
2、css
/*点击侧边栏时,变暗的效果*/
.mask{
display: none;
position: fixed;
top:0;
bottom:0;
left:0;
right:0;
background: rgba(0,0,0,0.3);
}
#sidebar{
position: fixed;
top:0;
/*right:0;*/
right:-300px;/*侧边栏隐藏在屏幕右边*/
bottom:0;
width:300px;
background: #333;
padding:20px 0;
transition:right 0.5s;
}
3、js
;$(function () {
'use strict';
var sidebar = $('#sidebar'), /*选择侧栏*/
mask = $('.mask'),
sidebar_trigger = $('#sidebar_trigger');
function showSideBar() {
mask.fadeIn();
sidebar.css('right', 0);
}
function hideSideBar() {
mask.fadeOut();
sidebar.css('right', -sidebar.width());
}
sidebar_trigger.on('click',showSideBar);
mask.on('click', hideSideBar);
})
fadeIn() 方法使用淡入效果来显示被选元素,假如该元素是隐藏的。
fadeOut() 方法使用淡出效果来隐藏被选元素,假如该元素是隐藏的。