精简的代码实现导航栏滑动效果,实现详解:

1.滑块位置:通过父节点position=fixed,子节点position=absolute方式,实现子节点浮动;

2.导航栏居中:通过left=0px,right=0px,margin-left=auto,margin-right=auto实现;

3.通过jQuery动态改变滑块的Left和Width,然后通过animate实现动画效果。

 <!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"></meta>
<title>滑动导航栏</title>
<script scr=""></script><script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
<link rel="stylesheet" href="style.css" type="text/css" />
<style type="text/css">
body,div,p{
margin:0;
padding:0;
}
.nav{
background-color:black;
position:fixed;
left:0px;
right:0px;
width:80%;
margin:10px auto;
text-align:center;
height:37px;
}
.nav a{
padding:10px;
color:white;
line-height:30px;
text-decoration:none;
height:37px;
}
#navslip{
height:2px;
background-color:#8f919e;
position:absolute;
bottom:7px;
width:0px;
left:0px;
display:none;
overflow:hidden;
}
</style>
</head>
<body>
<div class="nav">
<a href="http://baidu.com" target="_black" >百度</a>
<a href="http://sina.com" target="_black" >新浪</a>
<a href="http://58.com" target="_black" >58同城</a>
<a href="http://sentsin.com/message/" target="_black" title="留言">致时光</a>
<a href="http://sentsin.com/daohang/" target="_black">前端圈</a>
<i id="navslip"></i>
</div>
<script>
$(function (){
setSlip();
});
var setSlip = function(){
var slip = $('#navslip');
var a = $('.nav a:first');
//初始化滑块
slip.css({
'width':a.width()+10,
'left' :parseInt(a.position().left) + 5 +'px'
});
$('.nav a').mouseenter(function(){
//显示滑块
if(slip.css('display') == 'none'){
slip.show();
};
//移动滑块
slip.stop().animate({
width: $(this).width()+10,
left: parseInt($(this).position().left) + 5 +'px'
},300);
});
};
</script>
</body>
</html>

附上效果图:

aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAABCAAAAAwCAIAAABPF5y6AAAFY0lEQVR4nO3d25HjKBQAUGfosPy5tQlsDk7EYTgN7Ud7uiUBF/CgR3efU1tTNkISCPnCXVszlwkAAGCQy9ENAAAAfg4JBgAAMIwEAwAAGEaCAQAADNOXYFwAAIBfQ4IBAAAMI8EAAACGkWAAAADDSDAAAIBhJBgAAMAwEgzgezsqzvzleX9eeCz16KP8wP6+ferqjme797LlXZUBhpBgAIcZFUyOCjXBeVebsjVPHiF7B6XUnc/yTfsbNO/t86Y7xl3ec0C77qh5eXpZVlv/8sMIcJFgAGdTjRuHB5/S6eKzT7P13LcIlS0D0VJ/596lpwsa1jhkpcLGK7CF9m5eOhOM9hcAJY0z9SII99UGaNYSNEorvMMDTtyAYH22R8tvj0VoftwyG573a0+rpsLy+sBJoevaVm+e0r7ZodxhEHsn31JhYy/m9U/1QQPOrytevQJUb4wDaNEYMeL10D6y5802IC1sKRnvdl9kDy/X+/Mrrbg95onH18qyFNtXzS5dh/3HZTU6pYkpHcTGiSw9wjea7OIOxtchO+4AqSCMFMNLX22AUG8YOUnkmZr/z+6ULLj3b/D1fr9lim+PeUpxvT9nb6utmmbL66A7u00E6VjELamOXfsV2FP101Haq/Hg1b0O6TXwvbTM1Oto1lcbIBQHingJVV0jDhfEulIAXL2Ie7SRQoJxvT9nv4u63p/JNxiBqbAYbSwfKxiUaoNLbVtVOMnEl2129iKnr6ttPkMHgR+gK2a+AktfbYBQHCjSrVO4hNrT1LmSno5NMD6ftpg/a3G9P6ePX0Yt04uGLyiC7s9rVi/LWKvTBXdIdbYKGnzgjZc9dfYix42MuxzUN7MDVV3JwisI99UGCMWBIl4YHRtwpvIKO6h8SKicP1+xfNbien8+Ho9pWj/j3f2NRFo+HZpgpG9bNgX1Gw+7teyd8/ZgpQef/7k60WpAAUpacoR1kOmrDRDqDSOHB5ZSI6dwJZ1uPawjX89azH8itXjg+zI6wdits6UbJr6Rsq+DNpf23UHc1JZBCT5i87elEx3+AQTOrzqzZwJRX22AUBwo0q1T+GvyDRtaa1tpZbZqWKnahg1d+/Ns9/pXUYtnvrPt7Cr/HKm08hZKd0KpAaXrX+pgy747iJuaHZTS1ShtTY95YH+B76grWXgFmb7aAKE4UATrwnjJuKns+qyxYaXV3paSX0V9fFWx/EukggQjG9inZC1bqrDnXJA9V7Wwfa+0PH47XDwW2caUbrnS1uBQaTlAqitZeEWzvtoAoThQtC/mdgs4pVVdsAJrWbdtaZE53B6fP4VaJB7Lv6X2nV/dzN+Wao7rVF7p4mfL49mq1Nr2e3IL8T1f6shqUNI/s7tnL5GZHajqShZeEaavNkAoDhTV1dvO0aa0GgtWadmtcf0NzP7F7vW3Fn/8xb/kna4+Vy/SXm9kNQEF17k6BI2F1Vt0rK47Lf1opMPReyua2YGqrmThFan6agOE2sPIlCyVpmQ5tVubL+WVWdqMajtPGDCD9qTdL+212wC13DDZktLRunbfc+KbwtwguP6l3dMxav9IAmQ1BpNFYOmrDRCKA0W6NQ4vuwWfqbyQ7e3ROb3Ri+p12LTvjaPQ2Ib0aCcZuM9mvHd54369cQSAVFey8ApEfbUBAIBfQ4IBAAAMI8EAAACGkWAAAADDSDAAAIBhJBgAAMAwEgyAn+aff//7Rv8dfbUAGEyCAfDTHJ4zSDAAfjMJBgAAMIwEAwAAGEaCAQAADCPBAAAAhpFgAAAAw0gwAACAYSQYAADAMJsnGAAAAAEJBgAAMIwEAwAAGEaCAQAADCPBAAAAhpFgAAAAw/wP0zI3KcQxxowAAAAASUVORK5CYII=" alt="" />

jquery 实现导航栏滑动效果的更多相关文章

  1. 原生JS实现全屏切换以及导航栏滑动隐藏及显示——重构前

    思路分析: 向后滚动鼠标滚轮,页面向下全屏切换:向前滚动滚轮,页面向上全屏切换.切换过程为动画效果. 第一屏时,导航栏固定在页面顶部,切换到第二屏时,导航条向左滑动隐藏.切换回第一屏时,导航栏向右滑动 ...

  2. 【前端】javascript实现导航栏筋斗云效果特效

    实现效果: 实现效果如下图所示 实现原理: 什么是筋斗云效果: 这个效果很简单,就是鼠标移到其他导航目录时会有背景图片跟着鼠标滑动到当前的目录. 实现思路: 鼠标经过的时候,利用offsetLeft获 ...

  3. 通过html和css做出下拉导航栏的效果

    通过观察了百度的首页,对于更多产品一栏,觉得可以不涉及JS便可写出下拉导航栏的效果 1.先设计出大体的框架 <div class="nav"> <ul> & ...

  4. jQuery Mobile 导航栏

    jQuery Mobile 导航栏 导航栏由一组水平排列的链接构成,通常位于页眉或页脚内部. 默认地,导航栏中的链接会自动转换为按钮(无需 data-role="button"). ...

  5. jQuery实现导航栏

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. 微信小程序导航栏,下面内容滑动,上册导航栏跟着滑动,内容随着导航栏滑动

    16.类似微信导航栏滑动.png 今日头条导航栏,下面滑动上面跟着滑动 index.wxml <swiper class="content" style="heig ...

  7. Flutter实战视频-移动电商-04.底部导航栏切换效果

    04.底部导航栏切换效果 博客地址: https://jspang.com/post/FlutterShop.html#toc-291 我们要做的效果图: 新建四个页面 home_page.dart ...

  8. jquery实现导航栏跟随窗口滚动

    最近在制作一个模版的时候用到的一个jquery插件,当网站导航滚动到当前可见页面顶部时,固定在顶部并随窗口滚动,有很多的网站前台模版有有类似的效果. smohan.fixednav.js /* * 随 ...

  9. 炫酷:一句代码实现标题栏、导航栏滑动隐藏。ByeBurger库的使用和实现

    本文已授权微信公众号:鸿洋(hongyangAndroid)原创首发. 其实上周五的时候已经发过一篇文章.基本实现了底部导航栏隐藏的效果.但是使用起来可能不是很实用.因为之前我实现的方式是继承了系统的 ...

随机推荐

  1. 论i++与++i

    网上看到好多人问i++与++i到底怎么理解,网友给出的答案几乎都是一样的.如下: i++:先进行计算,然后i自增1 ++i:i自增1,然后进行计算 并且课本上给出的解释跟这个也差不多,不过这样记起来既 ...

  2. sql 练习(2)

    1.用Decode函数实现横表和竖表的转换 SELECT deptno DEPARTMENT_ID, COUNT(*) "部门人数", ),,,)) "超高收入人数()& ...

  3. HTML5之新增标签用途及应用场景

    把自己的学习笔记整理一下,今天是HTML5第一篇,明天是css3选择器,给自己提个醒!哈哈 新的页面结构以及宽松的语法规范,标签可以不用闭合,可以省略head,body等标签 <!DOCTYPE ...

  4. Canvas的补充

    一.Canvas.save()作用:让后续的操作就好像在一个新图层上. 二.Canvas.restore():让之前save()产生的图层全部合并. 三.Canvas.translate():将原点( ...

  5. JavaScript Infinite scroll & Masonry

    // infinitescroll() is called on the element that surrounds // the items you will be loading more of ...

  6. VMware下设置CentOS虚拟机与主机同一网段

    由于在开发中经常使用到自己的电脑搭建虚拟机器进行个人开发,而虚拟机器每次登录所使用的命令行界面比较小,看起来也不舒服.以下主要对centos虚拟机器下配置与主机共享同一网段IP,通过第三方软件(put ...

  7. FastReport.net 使用记录

    FastReport.net  打印设计功能非常强大,打印内容可以自己设计.数据源可以来至许多个表,打印设计后的表格数据是以二进制保存在数据库中的. 1.打印设计: private void Desi ...

  8. Ring3 和Ring0 解释

    这得从CPU指令系统(用于控制CPU完成各种功能的命令)的特权级别说起.在CPU的所有指令中,有一些指令是非常危险的,如果错用,将导致整个系统崩溃.比如:清内存.设置时钟等.如果所有的程序都能使用这些 ...

  9. COB(Chip On Board)的製程簡單介紹

    前面提及 COB 的生產與 IC 的封裝製程幾乎是一致的,除了把 leadframe 改成了 PCB,把封膠由 molding 改成 dispensing,少了 triming & marki ...

  10. 无法关闭的QT程序——思路开阔一下,原来这么简单!

    做一个无法关闭的QT程序(想关闭时要在任务管理器里关闭),看似很难, 其实它并不难,只要让程序在关闭时启动它自身就可以了. 上代码: #include <QtGui> class Temp ...