jquery+css3實(shí)現(xiàn)熊貓tv導(dǎo)航代碼分享

實(shí)現(xiàn)原理
請看以下源代碼
<div class="ph-nav" data-pdt-block="pheader-n">
<div class="ph-nav_shadow" style="left: 0px; width: 62px;"></div>
<ul>
<li class="ph-nav_item ph-nav_item--current">
<a href="/" rel="external nofollow" >
首頁
</a>
</li>
<li class="ph-nav_item">
<a href="/all" rel="external nofollow" >
全部
</a>
</li>
...
</ul>
</div>
綠色的框?qū)?yīng)的代碼是class為ph-nav_shadow的div。
通過jquery來改變遮罩層(.ph-nav_shadow)的left與width值,css3加上動畫效果實(shí)現(xiàn)綠色框的動畫。
通話jquery對li標(biāo)簽類的添加與刪除實(shí)現(xiàn)文字顏色的變化。(.ph-nav_item--current)。
具體實(shí)現(xiàn)
編寫html代碼
<header>
<div class="w">
<div class="header_logo l"><img src="img/logo.png" alt=""></div>
<div class="header_nav r">
<div class="header_nav_shadow"></div>
<ul>
<li class="header_nav_li-hover"><a href="">首頁</a></li>
<li><a href="">智能家居</a></li>
<li><a href="">案例展示</a></li>
<li><a href="">致創(chuàng)能源</a></li>
<li><a href="">答疑解惑</a></li>
<li><a href="">合作加盟</a></li>
</ul>
</div>
</div>
</header>
編寫css代碼
.header_nav{
width: 592px;
height: 50px;
position: relative;
}
.header_nav_shadow{
position: absolute;
top: 0;
left: 0;
bottom: 0;
width: 72px;
background: #F29400;
transition: all ease-in-out .3s;
z-index: 1;
}
.header_nav ul li{
display: block;
float: left;
overflow: hidden;
height: 50px;
line-height: 50px;
transition: all ease-in-out .3s;
position: relative;
z-index: 2;
}
.header_nav_li-hover a{
color: #fff;
}
.header_nav ul li a{
display: block;
padding: 0 20px;
height: 50px;
line-height: 50px;
transition: all ease-in-out .3s;
}
編寫js代碼(主要)
$(document).ready(function() {
$(".header_nav ul li").hover(function() {
var change = getLiData($(this));
$(".header_nav_shadow").css('left',change[0]).width(change[1]);
$(".header_nav ul").children("li:first-child").removeClass("header_nav_li-hover");
$(this).addClass("header_nav_li-hover");
}, function() {
$(".header_nav_shadow").css('left',0).width('72');
$(this).removeClass("header_nav_li-hover");
$(".header_nav ul").children("li:first-child").addClass("header_nav_li-hover");
});
});
// 根據(jù)this li 獲取需要改變的長度和偏移量
function getLiData(li){
var left = 0;
for(let i=0;i<li.index();i++){
left+=$(".header_nav ul li:eq("+i+")").width();
}
var change=[left,li.width()];
return change;
}
相關(guān)文章
3Z版基于jquery的圖片復(fù)選框(asp.net+jquery)
最近在做一個(gè)彩票縮水工具,找了幾個(gè)圖片復(fù)選框插件始終感覺不太滿意,自己動手山寨了一下imageTick插件.2010-04-04
jQuery事件綁定on()與彈窗實(shí)現(xiàn)代碼
這篇文章主要介紹了jQuery事件綁定on()與彈窗實(shí)現(xiàn)代碼,需要的朋友可以參考下2016-04-04
jquery實(shí)現(xiàn)當(dāng)滑動到一定位置時(shí)固定效果
這篇文章主要介紹了jquery實(shí)現(xiàn)當(dāng)滑動到一定位置時(shí)固定效果,需要的朋友可以參考下2014-06-06
淺談jquery點(diǎn)擊label觸發(fā)2次的問題
下面小編就為大家?guī)硪黄獪\談jquery點(diǎn)擊label觸發(fā)2次的問題。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-06-06
jquery中使用$(#form).submit()重寫提交表單無效原因分析及解決
jqeury的validationEngine做ajax校驗(yàn),當(dāng)表單中的最后一個(gè)字段需要做ajax驗(yàn)證,在字段輸入完畢后點(diǎn)擊回車提交表單時(shí)不起作用,接下來為大家介紹下解決方法感興趣的各位可以參考下哈2013-03-03
jquery實(shí)現(xiàn)用戶登陸界面(示例講解)
下面小編就為大家?guī)硪黄猨query實(shí)現(xiàn)用戶登陸界面(示例講解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-09-09
jQuery實(shí)現(xiàn)checkbox的簡單操作
這篇文章主要介紹了jQuery實(shí)現(xiàn)checkbox的簡單操作,對復(fù)選框組的全選、全不選、不全選,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-11-11

