jQuery弹性滑块导航
曾起何时在某网站上看到一弹性滑块导航的效果,瞬间被些效果吸引,开始以为是用FLASH实现的,但查源代码发现用的是JQuery缓动效果。
今天心血来潮想拿这个效果练练手。也看看这段时间学习JS及jquery的成效。
先看下整体效果。

下面是HTML代码。
<div class="nav">
<div class="navLeft">
<span class="slideBoxNav"></span>
<a class="aNav" href="#">Home</a>
<a class="aNav" href="#">Property</a>
<a class="aNav" href="#">Products</a>
<a class="aNav" href="#">News</a>
<a class="aNav" href="#">About US</a>
<a class="aNav" href="#">Contact US</a>
</div>
<div class="selectBox">
<input class ="inputCss" type="text"/>
<a class="searchButton" href="javascript:void(0);">
<span class="icon"></span></a>
</div>
</div>
CSS样式:
.nav{ margin:0 auto; width:1000px; height:60px; position:relative; z-index:30;}
.navBox .nav .navLeft{ width:700px;float:left; height:60px; position:absolute;}
.navBox .navLeft .aNav{ display:block; font:16px/60px "微软雅黑"; padding-left:20px; padding-right:20px; color:#666; text-decoration:none; height:60px; float:left;
}
.navLeft .aNav:hover{ color:#00C2CE;}
.nav .navLeft .slideBoxNav{display:block; background:#004F97; height:60px; position:absolute; width:72px; z-index:-1;}
.navLeft .currentNav{ color:#00C2CE;}
.selectBox{ width:200px; height:30px; padding-top:15px; float:right;}
.inputCss{
color:#666;
outline:none;
font-size:14px;
box-sizing: border-box;
-moz-box-sizing: border-box;
width:150px;
height:30px;
line-height:30px;
border:none;
background:#ddd;
float:left;
}
引用JQuery及jquery.eswing.js
<script type="text/javascript" src="js/jquery-1.4.4.min.js"></script>
<script type="text/javascript" src="js/eswing.js"></script>
JS代码:
//导航滑块JS效果。
//参数说明 index 当前栏目导航索引从0开始。
function navAnimat(index){ var alist = $(".aNav");
var j = index;
alist.eq(j).addClass("currentNav");
var widthCurrent = alist.eq(j).width()+40;
var leftCurrent = alist.eq(j).offset().left-$(".navLeft").offset().left;
//alert(widthCurrent+":"+leftCurrent);
$(".slideBoxNav").css({left:leftCurrent+"px",width:widthCurrent+"px"});
for(var i=0; i<alist.length; i++)
{
alist.eq(i).mouseover(function(){
var $this= $(this);
var sib = $this.siblings(".slideBoxNav");
var leftp = $this.offset().left-$(this).parent(".navLeft").offset().left;
var widthp = $this.width()+40;
alist.removeClass("currentNav"); sib.stop().animate({ width:widthp+'px',left:leftp+'px'},{duration: 500,easing: "easeOutBack"}); //alert(widthp);
});
alist.eq(i).mouseout(function(){
$(this).removeClass("currentNav");
});
} $(".navLeft").mouseout(function(){
alist.eq(j).addClass("currentNav");
$(".slideBoxNav").stop().animate({ width:widthCurrent+'px',left:leftCurrent+'px'},{duration: 500,easing: "easeOutBack"});
});
}
调用函数:
<script type="text/javascript">
//设置导航当前栏目。
navAnimat(3);
</script>
jQuery弹性滑块导航的更多相关文章
- jquery版滑块导航栏
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <script src ...
- jquery 滑块导航菜单
带滑块的导航菜单,鼠标悬浮时,滑块会移动至鼠标位置,离开时,滑块会回到原来的位置,点击菜单之后滑块会停留在被点击菜单位置,等待下一次的鼠标悬浮事件或者点击事件,效果图: 图片效果不行,直接上代码: & ...
- 分享22款响应式的 jQuery 图片滑块插件
响应式(Responsive)设计的目标是要让产品界面能够响应用户的行为,根据不同终端设备自动调整尺寸,带给用户良好的使用体验.这篇文章收集了22款优秀的响应式 jQuery 幻灯片插件,它们能够帮助 ...
- 11个新鲜出炉的jQuery图像滑块插件
如今图像滑块已成为一种流行的Web设计元素,通过滑块,你可以在有限的页面空间中展示更多的内容,带给用户更佳的浏览体验.本文将为你带来一些非常实用的jQuery图像滑块插件. 1. Basic Sli ...
- 15 个响应式的 jQuery 图像滑块插件
设计师和开发人员总是试图使用新技术让网站更智能,而我们发现在许多网站上 jQuery 的图像滑块插件是非常受欢迎的.本文继续介绍 15 个 jQuery 图像滑块插件以供您选择. ELASTISLID ...
- 适应手机端的jQuery图片滑块动画DEMO演示
在线预览 下载地址 实例代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "htt ...
- Hashslider – 带有 Hash 标签功能的 jQuery 内容滑块
Hashslider 实现了常见的 jQuery 滑块的功能,特别之处在于给 URL 加上了标签,因此你能够连接到滑块的某块内容.滑块的内容也可以从外部的 HTML 文件获取. 您可能感兴趣的相关文章 ...
- 我收集到的最好的jQuery和CSS3导航菜单
jQuery和CSS3导航菜单在网页设计和开发的重要组成部分之一.利用jQuery+CSS3实现可以做出拥有各种动画效果的漂亮菜单.在这里,我们收集了一些最好的jQuery+CSS3实现的导航菜单. ...
- 不容错过的七个jQuery图片滑块插件
1.jQuery多图并列焦点图插件 今天我们要来分享一款比较特别的jQuery焦点图插件,它允许你自己定义当前画面的图片数量,在这个演示中,我们定义了3张图片一起显示.和其他jQuery焦点图一样,这 ...
随机推荐
- Drupal安装及使用问题解决列表
#1. 启动 Clean URL 修改Apache的配置文件(如httpd.conf),打开 LoadModule rewrite_module modules/mod_rewrite.so选项.然后 ...
- HW1.2
public class Solution { public static void main(String[] args) { System.out.println("Welcome to ...
- POJ1811- Prime Test(Miller–Rabin+Pollard's rho)
题目大意 给你一个非常大的整数,判断它是不是素数,如果不是则输出它的最小的因子 题解 看了一整天<初等数论及其应用>相关部分,终于把Miller–Rabin和Pollard's rho这两 ...
- CGAffineTransformMake(a,b,c,d,tx,ty) 矩阵运算的原理
简记: CGAffineTransformMake(a,b,c,d,tx,ty) ad缩放bc旋转tx,ty位移,基础的2D矩阵 公式 x=ax+cy+tx y=bx+dy+ty 1.矩阵的基本 ...
- 通过一张简单的图,让你彻底地搞懂JS的==运算
大家知道,JavaScript中的==是一种比较复杂运算,它的运算规则很奇怪,很容易让人犯错,从而成为JavaScript中“最糟糕的特性”之一. 在仔细阅读ECMAScript规范的基础上,我画了一 ...
- redis的hash, list, set类型相关命令
hash相关命令: 1. hset HSET key field value 将哈希表key中的域field的值设为value.如果key不存在,一个新的哈希表被创建并进行hset操作.如果域fiel ...
- 简单计算器 (c语言课程设计)
可以实现简单的加减乘除四则运算 #include<stdio.h> #include<string.h> #define MAX 10100 int main() { int ...
- phpstorm映射远程项目
项目要设置为default,否则自动更新会失败:type要选正确 development path和web path都要设置 options选项中选ctrl+s自动保存,且下方没告警
- 使用ajax代替iframe
相信大多数程序员都跟iframe打过交道,iframe简单,好用.在我用的过程中比较苦逼的是关于iframe高度的设置. 由于子页面内容不确定,页面高度也不确定.于是开始网上的各种搜索,一般有两种:一 ...
- MVC模式网站编写经验总结
单个网站使用MVC架构模式经验总结,包含具体网站包分类.包内类的编写.注意事项等方面.本人认为,按照如下包分类及编写方法,已经满足一个简单普通网站(主要针对java)的编写需求. MVC主要层级 数据 ...