博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JQ滑动导航菜单的实现
阅读量:5817 次
发布时间:2019-06-18

本文共 2527 字,大约阅读时间需要 8 分钟。

hot3.png

前言:不多说直接看效果!!!
这样的菜单我们在一般的网站上见到的也比较多,有比较好的用户体验!
 
原理:这个很重要,任何的特效只要原理搞明白了,实现起来都是很容易的!这个特效的原理很简单,菜单的样式我们都很容易实现就是一些CSS而已!
中间那个滑块其实就是一个定位为:
absolute 的元素,每当鼠标放到一个A元素上的时候用JQ获取到当前A元素的位置和宽度,再用JQ的animate方法,以动画的形式给元素即可!
当然你在这里也可以也一些其它的动画

1、DOM结构
1 *{
margin: 0;padding: 0;} 2 body{
font-family:"Microsoft YaHei";} 3 .container { 4 width: 1200px; 5 margin: 30px auto; 6 position: relative; 7 } 8 li { 9 list-style: none;10 }11 .nav-wrapper {12 background-color: #0191d7;13 height: 50px;14 }15 #nav-list {16 position: relative;17 z-index: 1;18 }19 #nav-list .nav-item {20 float:left;21 height: 50px;22 }23 #nav-list li a{24 display: block;25 padding: 0 50px;26 height: 50px;27 font-size: 16px;28 line-height: 50px;29 color: #fff;30 text-decoration: none;31 }32 .animate-block {33 position: absolute;34 height: 50px;35 background-color: #2B6B8A;36 left: 0;37 top:0;38 z-index: 0;39 }40 .active {41 box-shadow: 0 0 2px rgba(0,0,0,.1);42 }
View Code

 

3、JQ代码
$(function () {        var $active = $(".active"); //当前选中的菜单        var $active_w = $active.innerWidth();        var $active_l = $active.position().left;        var $animate_block = $(".animate-block");         //设置滑块初始位置        $(".animate-block").css({width:$active_w,left:$active_l});         //a事件        $("#nav-list>li").hover(function () {            var index = $(this).index();            var $a_cur = $("#nav-list a").eq(index);//得到当前元素            var width = $a_cur.innerWidth();            var left = $a_cur.position().left;            $(".animate-block").stop().animate({width:width,left:left});        },function () {            $(".animate-block").stop().animate({width:$active_w,left:$active_l});        });    });
View Code

 

参考资料:
脚本之家:
站长之家:

 

转载于:https://my.oschina.net/u/212572/blog/796000

你可能感兴趣的文章
四、配置开机自动启动Nginx + PHP【LNMP安装 】
查看>>
LNMP一键安装
查看>>
Linux 目录结构及内容详解
查看>>
Oracle命令导入dmp文件
查看>>
OCP读书笔记(24) - 题库(ExamD)
查看>>
解决Unable to load R3 module ...VBoxDD.dll (VBoxDD):GetLastError=1790
查看>>
.net excel利用NPOI导入oracle
查看>>
第六课:数据库的基本工具
查看>>
$_SERVER['SCRIPT_FLENAME']与__FILE__
查看>>
skynet实践(8)-接入websocket
查看>>
系统版本判断
查看>>
My97DatePicker 日历插件
查看>>
0603 学术诚信与职业道德
查看>>
小点心家族第3位成员——楼层定位效果
查看>>
Knockout.Js官网学习(enable绑定、disable绑定)
查看>>
hive基本操作与应用
查看>>
excel快捷键设置
查看>>
poj3692
查看>>
python之信号量【Semaphore】
查看>>
html5纲要,细谈HTML 5新增的元素
查看>>