jQuery 借助插件Lavalamp实现导航条动态美化效果


Posted in Javascript onSeptember 27, 2013

借助 插件 Lavalamp实现导航条动态显示效果, 以前用animate来实现,效果不是很好

<script src="js/jquery-2.0.0.min.js" type="text/javascript"></script> 
<script src="js/jquery.easing.min.js" type="text/javascript"></script> 
<script src="js/jquery.lavalamp.js" type="text/javascript"></script> 
<script type="text/javascript"> 
$(function() { 
$(".nav").lavaLamp({ 
fx: "backout", 
speed: 1100, 
mouseover:function(event, menuItem){alert();} 
}); 
}); </script> 
<style> 
.nav { 
width:650px; 
height:100px; 
float:left; 
position: relative; 
} 
.nav li { 
width:auto; 
min-width:40px; 
line-height:100px; 
padding:0 15px; 
margin:0 10px 0 0; 
color:#000; 
font-size:14px; 
text-align:center; 
float:left; 
} 
.nav li.back { 
background: #86bf40; 
-moz-border-radius: 5px; 
-webkit-border-radius: 5px; 
line-height: 2; 
width: 40px; 
height: 100px; /*--?--*/ 
z-index: 1; /*--?--*/ 
position: absolute; /*--?--*/ 
margin-top: 0px; 
margin-left:5px; 
} 
.nav li a { 
color: #000; 
z-index: 2; /*--?--*/ 
font-variant: small-caps; 
text-decoration: none; 
position: relative; /*--?--*/ 
margin: auto 10px; 
} 
</style> 
</head> 
<body> 
<!-- header --> 
<div class="headerbox"> 
<div class="header"> <a href="http://www.uuspeed.com/" class="logo"><img src="images/logo.png" alt="优速云" /></a> 
<ul class="nav"> 
<li class="current"><a href="#">首 页</a></li> 
<li class="1"><a href="#">个人版</a></li> 
<li class="2"><a href="#">中小版</a></li> 
<li class="3"><a href="#">企业版</a></li> 
<li class="4"><a href="#">服务与价格</a></li> 
<li class="5"><a href="#">关于我们</a></li> 
</a> 
</ul> 
<div class="login"> <a href="" class="icon_login">登 录</a> <a href="" class="icon_login">注 册</a> </div> 
</div> 
</div> 

</body> 
</html>

//// ------lavalamp.js文件修改--------------
(function($) { 
$.fn.lavaLamp = function(o) { 
o = $.extend({ fx: "linear", speed: 500, click: function(){} }, o || {}); 
return this.each(function() { 
var me = $(this), 
noop = function(el){ 
}, 
$back = $('<li class="back"><div class="left"></div></li>').appendTo(me), 
$li = $("li", this), 
curr = $("li.current", this)[0] || $($li[0]).addClass("current")[0]; 

$li.not(".back").hover(function() { move(this);}); 

$(".nav li:eq(0) a").css("color","#FFF"); 
function setCurr(el) {alert(el.offsetWidth); 
$back.css({ "left": el.offsetLeft+"px", "width": el.offsetWidth+"px" }); 
curr = el; 
}; 
function move(el) { 
$back.each(function() { 
$.dequeue(this, "fx"); } 
).animate({ 
width: el.offsetWidth-40, 
left: el.offsetLeft 
}, o.speed, o.fx,function(){ 
var a0=$(".nav li:eq(0) a"); 
var a1=$(".nav li:eq(1) a"); 
var a2=$(".nav li:eq(2) a"); 
var a3=$(".nav li:eq(3) a"); 
var a4=$(".nav li:eq(4) a"); 
var a5=$(".nav li:eq(5) a"); 
if(el.offsetLeft==0){ 
$(".nav li:eq(0) a").css("color","#FFF"); 
a1.css("color","#000"); 
a2.css("color","#000"); 
a3.css("color","#000"); 
a4.css("color","#000"); 
a5.css("color","#000"); 
} 
if(el.offsetLeft==92){ 
$(".nav li:eq(1) a").css("color","#FFF"); 
a0.css("color","#000"); 
a2.css("color","#000"); 
a3.css("color","#000"); 
a4.css("color","#000"); 
a5.css("color","#000"); 
} 
if(el.offsetLeft==194){ 
$(".nav li:eq(2) a").css("color","#FFF"); 
a1.css("color","#000"); 
a0.css("color","#000"); 
a3.css("color","#000"); 
a4.css("color","#000"); 
a5.css("color","#000"); 
} 
if(el.offsetLeft==296){ 
$(".nav li:eq(3) a").css("color","#FFF"); 
a1.css("color","#000"); 
a2.css("color","#000"); 
a0.css("color","#000"); 
a4.css("color","#000"); 
a5.css("color","#000"); 
} 
if(el.offsetLeft==398){ 
$(".nav li:eq(4) a").css("color","#FFF"); 
a1.css("color","#000"); 
a2.css("color","#000"); 
a3.css("color","#000"); 
a0.css("color","#000"); 
a5.css("color","#000"); 
} 
if(el.offsetLeft==528){ 
$(".nav li:eq(5) a").css("color","#FFF"); 
a1.css("color","#000"); 
a2.css("color","#000"); 
a3.css("color","#000"); 
a4.css("color","#000"); 
a0.css("color","#000"); 
} 
}); 
}; 

}); 
}; 
})(jQuery);

效果见http://www.uuspeed.com/
Javascript 相关文章推荐
javascript学习笔记(二十) 获得和设置元素的特性(属性)
Jun 20 Javascript
JavaScript动态修改弹出窗口大小的方法
Apr 06 Javascript
javascript实现的猜数小游戏完整实例代码
May 10 Javascript
jQuery ajax MD5实现用户注册即时验证功能
Oct 11 Javascript
Vue.js系列之项目结构说明(2)
Jan 03 Javascript
JS实现针对给定时间的倒计时功能示例
Apr 11 Javascript
Vue.js实现一个SPA登录页面的过程【推荐】
Apr 29 Javascript
详解vue-admin和后端(flask)分离结合的例子
Feb 12 Javascript
js数据类型检测总结
Aug 05 Javascript
Js代码中的span拼接问题解决
Nov 22 Javascript
vue 查看dist文件里的结构(多种方式)
Jan 17 Javascript
vue组件入门知识全梳理
Sep 21 Javascript
jquery $.each 和for怎么跳出循环终止本次循环
Sep 27 #Javascript
jquery ajax 调用失败的原因示例介绍
Sep 27 #Javascript
写得不错的jquery table鼠标经过变色代码
Sep 27 #Javascript
模拟jQuery中的ready方法及实现按需加载css,js实例代码
Sep 27 #Javascript
jquery ready函数、css函数及text()使用示例
Sep 27 #Javascript
javascript full screen 全屏显示页面元素的方法
Sep 27 #Javascript
实现动画效果核心方式的js代码
Sep 27 #Javascript
You might like
如何使用动态共享对象的模式来安装PHP
2006/10/09 PHP
基于mysql的bbs设计(二)
2006/10/09 PHP
PHP的foreach中使用引用时需要注意的一个问题和解决方法
2014/05/29 PHP
浅谈php正则表达式中的非贪婪模式匹配的使用
2014/11/25 PHP
在win系统安装配置 Memcached for PHP 5.3 图文教程
2015/03/03 PHP
PHP常用的小程序代码段
2015/11/14 PHP
php实现的XML操作(读取)封装类完整实例
2017/02/23 PHP
PHP对象的浅复制与深复制的实例详解
2017/10/26 PHP
Laravel框架处理用户的请求操作详解
2019/12/20 PHP
该如何加载google-analytics(或其他第三方)的JS
2010/05/13 Javascript
js生成动态表格并为每个单元格添加单击事件的方法
2014/04/14 Javascript
jQuery操作cookie方法实例教程
2014/11/25 Javascript
jQuery移动web开发中的页面初始化与加载事件
2015/12/03 Javascript
JavaScript拖动层Div代码
2017/03/01 Javascript
Angular2开发——组件规划篇
2017/03/28 Javascript
nodejs个人博客开发第三步 载入页面
2017/04/12 NodeJs
微信小程序promsie.all和promise顺序执行
2017/10/27 Javascript
vue .sync修饰符的使用详解
2018/06/15 Javascript
微信小程序+腾讯地图开发实现路径规划绘制
2019/05/22 Javascript
vue实现搜索功能
2019/05/28 Javascript
全面分析JavaScript 继承
2019/05/30 Javascript
初步认识Python中的列表与位运算符
2015/10/12 Python
jupyter安装小结
2016/03/13 Python
Django REST为文件属性输出完整URL的方法
2017/12/18 Python
Python基于whois模块简单识别网站域名及所有者的方法
2018/04/23 Python
python实现决策树ID3算法的示例代码
2018/05/30 Python
利用python对mysql表做全局模糊搜索并分页实例
2020/07/12 Python
Python中pass的作用与使用教程
2020/11/13 Python
让IE6、IE7、IE8支持CSS3的脚本
2010/07/20 HTML / CSS
使用phonegap播放音频的实现方法
2017/03/31 HTML / CSS
澳大利亚礼品卡商店:Gift Card Store
2019/06/24 全球购物
员工拓展培训方案
2014/02/15 职场文书
房地产财务部员工岗位职责
2014/03/12 职场文书
商场租赁意向书
2014/07/30 职场文书
门卫岗位职责
2015/02/09 职场文书
CSS的calc函数用法小结
2022/06/25 HTML / CSS