曾起何时在某网站上看到一弹性滑块导航的效果,瞬间被些效果吸引,开始以为是用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>

  

最新文章

  1. Using Call_Form in Oracle D2k
  2. Windows Phone自带的语音识别
  3. WPF MVVM模式下实现ListView下拉显示更多内容
  4. linux passwd文件解析
  5. ls -alrth 及ls 详解
  6. 从图片加载纹理-使用glut工具
  7. about_Execution_Policies
  8. layer 弹出子页面然后给父页面赋值
  9. Java微框架:不可忽视的新趋势--转载
  10. C++编程注意事项
  11. Scala-变量、常量和懒加载
  12. ios app相互调用
  13. css Tab选项卡2
  14. Inversions After Shuffle
  15. 几个关于js数组方法reduce的经典片段
  16. 数据库性能优化(database tuning)性能优化绝不仅仅只是索引
  17. 一个简易的kmp教学并给出java实现
  18. java_基础_类加载
  19. Windows 上安装 MySQL(8.0.11)
  20. Java中关于Map的使用(HashMap、ConcurrentHashMap)

热门文章

  1. POJ 2533 Longest Ordered Subsequence (LIS DP)
  2. 终端ls显示的配色方案
  3. HW4.34
  4. 页面置换算法(最佳置换算法、FIFO置换算法、LRU置换算法、LFU置换算法)
  5. POJ2773 - Happy 2006(欧拉函数)
  6. 局域网内Linux服务器时间同步
  7. eclipse中的maven配置
  8. google搜索新姿势
  9. Selenium 进行web自动化测试
  10. IOS ScrollowView 滑动到边缘后不允许再拖动