这是一款简单的jQuery菜单条鼠标跟随线条特效。该特效在当鼠标在菜单项上移动时,会有线条跟随鼠标在菜单项下面移动,并且线条的长度会随着菜单项的长度而变化。
使用方法
在页面中引入jquery文件。
<script src="js/jquery.min.js" type="text/javascript"></script>
HTML结构
使用时,菜单的HTML结构如下:
<div class="menu"> <div class="menu-item current-menu-item"> <h6>Home</h6> <div class="wee"></div> </div> <div class="menu-item"> <h6>Contact</h6> </div> <div class="menu-item"> <h6>About</h6> </div> <div class="menu-item"> <h6>Blog</h6> </div> <div class="menu-item"> <h6>Jobs</h6> </div> </div>
CSS样式
为菜单添加下面的CSS样式,你可以根据实际情况,添加自己的菜单样式。
.menu { width: 100%; display: flex; align-items: center; justify-content: center; } .menu .menu-item { position: relative; cursor: pointer; } .menu .menu-item .wee { height: 2px; width: 100%; background-color: #002b75; position: absolute; left: 0; bottom: 0; transition: 0.75s; } .menu .menu-item h6 { margin: 0; padding: 0 1rem 1.5rem; font-size: 1rem; color: #232323; transition: 0.75s; } .menu .menu-item:hover h6 { color: #002b75; } .menu .current-menu-item h6 { color: #002b75; }
JavaScript
然后使用下面的jQuery代码来时线条在鼠标移动时,跟随鼠标移动。
$(document).ready(function() { $(window).on('load resize', function() { var $thisnav = $('.current-menu-item').offset().left; $('.menu-item').hover(function() { var $left = $(this).offset().left - $thisnav; var $width = $(this).outerWidth(); var $start = 0; $('.wee').css({ 'left': $left , 'width': $width }); }, function() { var $initwidth = $('.current-menu-item').width(); $('.wee').css({ 'left': '0' , 'width': $initwidth }); }); }); });
jQuery菜单条鼠标跟随线条特效的原文地址为:https://codepen.io/cmdeveloped/pen/LdmMwE