jquery+css3实现熊猫tv导航代码分享


Posted in jQuery onFebruary 12, 2018

jquery+css3实现熊猫tv导航代码分享

实现原理

请看以下源代码

<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>

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

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

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

具体实现

编写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="">致创能源</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");
  }); 
});
// 根据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;
}
jQuery 相关文章推荐
jQuery插件FusionCharts实现的3D帕累托图效果示例【附demo源码】
Mar 25 jQuery
详谈jQuery.load()和Jsp的include的区别
Apr 12 jQuery
jQuery操作之效果详解
May 19 jQuery
jQuery 实现双击编辑表格功能
Jun 19 jQuery
基于jQuery实现的单行公告活动轮播效果
Aug 23 jQuery
jQuery 实现鼠标画框并对框内数据选中的实例代码
Aug 29 jQuery
jQuery+SpringMVC中的复选框选择与传值实例
Jan 08 jQuery
jQuery实现的响应鼠标移动方向插件用法示例【附源码下载】
Aug 28 jQuery
JQuery模拟实现网页中自定义鼠标右键菜单功能
Nov 14 jQuery
jQuery事件绑定和解绑、事件冒泡与阻止事件冒泡及弹出应用示例
May 13 jQuery
jQuery弹框插件使用方法详解
May 26 jQuery
jquery实现图片放大镜效果
Dec 23 jQuery
jQuery实现定时隐藏对话框的方法分析
Feb 12 #jQuery
JS/jQuery实现DIV延时几秒后消失或显示的方法
Feb 12 #jQuery
集成vue到jquery/bootstrap项目的方法
Feb 10 #jQuery
jQuery实现的简单图片轮播效果完整示例
Feb 08 #jQuery
jQuery 防止相同的事件快速重复触发方法
Feb 08 #jQuery
jQuery实现动态显示select下拉列表数据的方法
Feb 05 #jQuery
jQuery Dom元素操作技巧
Feb 04 #jQuery
You might like
DC《小丑》11项提名领跑奥斯卡 Netflix成第92届奥斯卡提名最大赢家
2020/04/09 欧美动漫
关于php 接口问题(php接口主要也就是运用curl,curl函数)
2013/07/01 PHP
php中的strpos使用示例
2014/02/27 PHP
php通过修改header强制图片下载的方法
2015/03/24 PHP
PHP精确计算功能示例
2016/11/29 PHP
PHP封装的mysqli数据库操作类示例
2019/02/16 PHP
详解no input file specified 三种解决方法
2019/11/29 PHP
php将字符串转换为数组实例讲解
2020/05/05 PHP
自定义右键属性覆盖浏览器默认右键行为实现代码
2013/02/02 Javascript
js判断选择时间不能小于当前时间的示例代码
2013/09/24 Javascript
jquery+css3打造一款ajax分页插件(自写)
2014/06/18 Javascript
Nodejs初级阶段之express
2015/11/23 NodeJs
JS简单编号生成器实现方法(附demo源码下载)
2016/04/05 Javascript
jQuery实现摸拟alert提示框
2016/05/22 Javascript
JavaScript中两个字符串的匹配
2016/06/08 Javascript
JS实现禁止鼠标右键的功能
2016/10/15 Javascript
Bootstrap中glyphicons-halflings-regular.woff字体报404错notfound的解决方法
2017/01/19 Javascript
微信小程序图片横向左右滑动案例
2017/05/19 Javascript
Vue项目中添加锁屏功能实现思路
2018/06/29 Javascript
Angular6封装http请求的步骤详解
2018/08/13 Javascript
使用python的chardet库获得文件编码并修改编码
2014/01/22 Python
Python Requests模拟登录实现图书馆座位自动预约
2018/04/27 Python
Python Flask 搭建微信小程序后台详解
2019/05/06 Python
详解python中docx库的安装过程
2019/11/08 Python
python路径的写法及目录的获取方式
2019/12/26 Python
Pycharm如何运行.py文件的方法步骤
2020/03/03 Python
Python可以实现栈的结构吗
2020/05/27 Python
使用Python FastAPI构建Web服务的实现
2020/06/08 Python
Python getattr()函数使用方法代码实例
2020/08/10 Python
详解python中的lambda与sorted函数
2020/09/04 Python
CSS3+JavaScript实现炫酷呼吸效果的示例代码
2020/06/15 HTML / CSS
社区志愿者心得体会
2014/01/03 职场文书
运动会广播稿200字
2014/01/15 职场文书
讲文明树新风公益广告宣传方案
2014/02/25 职场文书
cf战队宣传语
2015/07/13 职场文书
Python代码实现双链表
2022/05/25 Python