网站推广.NET

网站推广.NET

使用jquery+css3如何实现熊猫tv导航

来源:互联网

本篇文章给大家详细分享的是jquery+css3来写出熊猫tv导航的效果,以及代码分享,喜欢的朋友参考下。

实现原理

请看以下源代码

<p class="ph-nav" data-pdt-block="pheader-n">      <p class="ph-nav_shadow" style="left: 0px; width: 62px;"></p>      <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></p>

绿色的框对应的代码是class为ph-nav_shadow的p。

通过jquery来改变遮罩层(.ph-nav_shadow)的left与width值,css3加上动画效果实现绿色框的动画。

立即学习“前端免费学习笔记(深入)”;

通话jquery对li标签类的添加与删除实现文字颜色的变化。(.ph-nav_item--current)。

具体实现

编写html代码

 <header>    <p class="w">      <p class="header_logo l"><img src="img/logo.png" alt=""></p>      <p class="header_nav r">         <p class="header_nav_shadow"></p>         <ul>           <li class="header_nav_li-hover"><a href="">首页</a></li>           <li><a href="">智能家居</a></li>           <li><a href="">案例展示</a></li>           <li><a href="">致创能源</a></li>           <li><a href="">答疑解惑</a></li>           <li><a href="">合作加盟</a></li>            </ul>      </p>    </p>   </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(&#39;left&#39;,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(&#39;left&#39;,0).width(&#39;72&#39;);    $(this).removeClass("header_nav_li-hover");     $(".header_nav ul").children("li:first-child").addClass("header_nav_li-hover");  }); });// 根据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;}

上面是我整理给大家的,希望今后会对大家有帮助。

相关文章:

详细解读js中装饰设计模式

在js中如何实现控制文件拖拽并获取拖拽内容功能

使用Vue实现底层原理(详细教程)

标签: 熊猫导航