这是一款带炫酷鼠标滑过特效的垂直导航菜单特效。该菜单特效中,当鼠标滑过菜单项时,会有一个背景遮罩层跟着鼠标移动,效果非常炫酷。
使用方法
HTML结构
该垂直导航菜单的HTML结构非常简单:
<div class="menu-container">
<menu>
<menuitem>
<img src="img/144211.svg" />
avocado
</menuitem>
<menuitem>
<img src="img/144207.svg" />
banana
</menuitem>
<menuitem>
<img src="img/144210.svg" />
cherry
</menuitem>
<menuitem>
<img src="img/144198.svg" />
eggplant
</menuitem>
</menu>
<div class="sliding-bar"></div>
</div>
CSS样式
为垂直导航菜单添加一些必要的CSS样式:
.menu-container {
display: inline-block;
position: absolute;
top: 50%;
left: 50%;
transform: translateX(-50%) translateY(-50%);
background-color: #fff;
z-index: 0;
box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
}
.menu-container menu {
display: block;
position: relative;
width: 15em;
padding: .25em;
border: 2px solid #c99;
margin: 0;
z-index: 2;
}
.menu-container menu menuitem {
display: block;
height: 4em;
line-height: 4em;
padding: 0 1em;
cursor: pointer;
background: transparent;
text-align: left;
color: #666;
font-weight: 500;
letter-spacing: .02em;
}
.menu-container menu menuitem:hover {
color: #000;
}
.menu-container menu menuitem img {
padding-right: 1em;
height: 2em;
vertical-align: middle;
}
.menu-container .sliding-bar {
position: absolute;
background-color: #aef;
transition: all .2s ease;
z-index: 1;
opacity: 0;
}
JavaScript
该垂直导航菜单通过jQuery来制作鼠标互动效果。
$(window).ready(function(){
initMenu();
});
$('menuitem').hover(function(){
var offset = $(this).offset();
$('.sliding-bar').offset(offset);
});
$('menu').hover(function(){
$('.sliding-bar').css({opacity:1});
},function(){
$('.sliding-bar').css({opacity:0});
})
var initMenu = function () {
var $initElem = $('menuitem:first-of-type');
var initOffset = $initElem.offset();
var initSize = {
width: $initElem.css('width'),
height: $initElem.css('height')
}
$('.sliding-bar')
.offset(initOffset)
.css(initSize)
}