jQuery实现带滚动线条导航效果的方法


Posted in Javascript onJanuary 30, 2015

本文实例讲述了jQuery实现带滚动线条导航效果的方法。分享给大家供大家参考。具体分析如下:

最早见到这种导航是在魅族的官网,当时(去年)觉得挺不错的但自己不会JavaScript,因此那时“可望而不可及”。今日去手机QQ for Android官网,又发现类似这样的导航,反正自己也没啥事,所以就尝试用jQuery做出这样的效果。

效果如下:

首页
说说
日志
相册
   
CSS:

body,ul,li{margin:0;padding:0;}
#testnav{;height:80px;background:#333;}
.testmenu{width:320px;padding-top:45px;margin:0 auto;}
.testbox div{float:left;width:80px;height:30px;text-align:center;}
.testbox a{color:#ccc;text-decoration:none;font:700 12px/1 "宋体";}
.testbox a:hover{color:#CCEEFF;text-decoration:underline;}
.testline-box{width:100%;background:#eee;}
.testline{display:block;height:3px;width:80px;background:#999;}

HTML:

<div id="testnav">
 <div class="testmenu">
  <div class="testbox">
   <div><a href="javascript:void(0)">首页</a></div>
   <div><a href="javascript:void(0)">说说</a></div>
   <div><a href="javascript:void(0)">日志</a></div>
   <div><a href="javascript:void(0)">相册</a></div>
  </div>
  <div style="clear:both;"></div>
  <div class="testline-box">
 <span class="testline"></span>
 </div>
 </div>
</div>

jQuery:

var $line=$("span.testline");
var $w=$(".testbox > div").width();
var m=0;
$(".testbox > div").each(function(n){
 var x=$w*n;
 $(this).mouseenter(function(){
  $line.stop(true,true).animate({"margin-left":x},"slow","easeOutBack");
 });
 $("a",this).click(function(){
  m=x;
 });
});
$(".testbox").mouseleave(function(){
 $line.stop(true,true).animate({"margin-left":m},"slow","easeOutBack");
});

代码写的比较粗糙,再加上自己水平有限,或许您可以简化写的更好(反正大致思路应该就是这样+_+)。

注意:代码中使用了easing插件的效果。记得要去下载并引用这个插件。如果不想使用easing插件则可将JS中的“easeOutBack”删掉或者换成“swing”。

demo中的菜单的链接地址我使用了javascript:void(0)代替,主要目的是为了方便演示效果。在实际运用中,我们可以根据当前的url来判断当前所在位置,确定位置之后再重新给JavaScript中变量m赋值,从而能确定线条应处于哪个菜单下。当然肯定还有其他方法来判断当前位置。

希望本文所述对大家的jQuery程序设计有所帮助。

Javascript 相关文章推荐
根据json字符串生成Html的一种方式
Jan 09 Javascript
Jquery右下角抖动、浮动 实例代码(兼容ie6、FF)
Aug 15 Javascript
jquery获取一组checkbox的值(实例代码)
Nov 04 Javascript
JS实现颜色梯度与渐变效果完整实例
Dec 30 Javascript
Angular.js ng-file-upload结合springMVC的使用教程
Jul 10 Javascript
浅谈Vue-cli 命令行工具分析
Nov 22 Javascript
微信小程序实现天气预报功能
Jul 18 Javascript
浅谈小程序 setData学问多
Feb 20 Javascript
使用vue-cli4.0快速搭建一个项目的方法步骤
Dec 04 Javascript
在vue中使用el-tab-pane v-show/v-if无效的解决
Aug 03 Javascript
js实现右键弹出自定义菜单
Sep 08 Javascript
js实现圆形菜单选择器
Dec 03 Javascript
jquery实现拖拽调整Div大小
Jan 30 #Javascript
jQuery中$.click()无效问题分析
Jan 29 #Javascript
Eclipse配置Javascript开发环境图文教程
Jan 29 #Javascript
js操作滚动条事件实例
Jan 29 #Javascript
jQuery调取jSon数据并展示的方法
Jan 29 #Javascript
jquery通过load获取文件的内容并跳到锚点的方法
Jan 29 #Javascript
浅谈Javascript 数组与字典
Jan 29 #Javascript
You might like
无线电的诞生过程
2021/03/01 无线电
php下判断数组中是否存在相同的值array_unique
2008/03/25 PHP
php基于websocket搭建简易聊天室实践
2016/10/24 PHP
php常用数组函数实例小结
2016/12/29 PHP
[原创]js与自动伸缩图片 自动缩小图片的多浏览器兼容的方法总结
2007/03/12 Javascript
JSON.parse 解析字符串出错的解决方法
2010/07/08 Javascript
使用jquery插件实现图片延迟加载技术详细说明
2011/03/12 Javascript
Javascript图像处理—平滑处理实现原理
2012/12/28 Javascript
javascript Array.prototype.slice的使用示例
2013/11/14 Javascript
js 获取元素下面所有li的两种方法
2014/04/14 Javascript
javascript操作数组详解
2014/12/17 Javascript
JS实现单行文字不间断向上滚动的方法
2015/01/29 Javascript
JQuery动态添加和删除表格行的方法
2015/03/09 Javascript
jQuery实现强制cookie过期方法汇总
2015/05/22 Javascript
使用JS中的exec()方法构造正则表达式验证
2016/08/01 Javascript
用Webpack构建Vue项目的实践
2017/11/07 Javascript
create-react-app构建项目慢的解决方法
2018/03/14 Javascript
微信小程序自定义tabBar组件开发详解
2020/09/24 Javascript
webpack 代码分离优化快速指北
2019/05/18 Javascript
bootstrap+spring boot实现面包屑导航功能(前端代码)
2019/10/09 Javascript
Windows下安装 node 的版本控制工具 nvm
2020/02/06 Javascript
vue 使用 vue-pdf 实现pdf在线预览的示例代码
2020/04/26 Javascript
Python中几个比较常见的名词解释
2015/07/04 Python
python利用Guetzli批量压缩图片
2017/03/23 Python
对python以16进制打印字节数组的方法详解
2019/01/24 Python
python的turtle库使用详解
2019/05/10 Python
python批量生成身份证号到Excel的两种方法实例
2021/01/14 Python
用CSS禁用输入法(CSS3 UI规范)实例解析
2012/12/04 HTML / CSS
html5 button autofocus 属性介绍及应用
2013/01/04 HTML / CSS
谷歌浏览器小字体处理方案即12px以下字体
2013/12/17 HTML / CSS
美国中小型企业领先的办公家具供应商:Office Designs
2016/11/26 全球购物
电大毕业生自我鉴定
2013/11/10 职场文书
大学四年个人的自我评价
2014/02/26 职场文书
公司试用期员工自我评价
2014/09/17 职场文书
2014年大学学生会工作总结
2014/12/02 职场文书
理解python中装饰器的作用
2021/07/21 Python