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正则验证注册页面经典实例
Jun 10 jQuery
jQuery实现QQ空间汉字转拼音功能示例
Jul 10 jQuery
使用jQuery实现鼠标点击左右按钮滑动切换
Aug 04 jQuery
jQuery实现手势解锁密码特效
Aug 14 jQuery
CSS3结合jQuery实现动画效果及回调函数的实例
Dec 27 jQuery
jQuery 点击获取验证码按钮及倒计时功能
Sep 20 jQuery
jQuery实现动态添加和删除input框代码实例
Mar 29 jQuery
基于jQuery实现可编辑的表格
Dec 11 jQuery
jQuery单页面文字搜索插件jquery.fullsearch.js的使用方法
Feb 04 jQuery
基于jquery实现彩色投票进度条代码解析
Aug 26 jQuery
jQuery实现tab栏切换效果
Dec 22 jQuery
jQuery实现鼠标拖动图片功能
Mar 04 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
php中ftp_chdir与ftp_cdup函数用法
2014/11/18 PHP
PHP中文编码小技巧
2014/12/25 PHP
php简单实现查询数据库返回json数据
2015/04/16 PHP
twig模板获取全局变量的方法
2016/02/05 PHP
JavaScript中的Location地址对象
2008/01/16 Javascript
JS代码放在head和body中的区别分析
2011/12/01 Javascript
原生js拖拽(第一课 未兼容)拖拽思路
2013/03/29 Javascript
jquery插件推荐 jquery.cookie
2014/11/09 Javascript
深入理解JavaScript系列(33):设计模式之策略模式详解
2015/03/03 Javascript
推荐阅读的js快速判断IE浏览器(兼容IE10与IE11)
2015/12/13 Javascript
Knockout自定义绑定创建方法
2015/12/26 Javascript
AngularJS 表达式详解及实例代码
2016/09/14 Javascript
JavaScript浮点数及运算精度调整详解
2016/10/21 Javascript
JS一个简单的注册页面实例
2017/09/05 Javascript
在Vue组件上动态添加和删除属性方法
2018/02/23 Javascript
vue使用混入定义全局变量、函数、筛选器的实例代码
2019/07/29 Javascript
解决layer.confirm选择完之后消息框不消失的问题
2019/09/16 Javascript
Vue js with语句原理及用法解析
2020/09/03 Javascript
django 创建过滤器的实例详解
2017/08/14 Python
TF-IDF与余弦相似性的应用(二) 找出相似文章
2017/12/21 Python
python列表生成式与列表生成器的使用
2018/02/23 Python
python递归函数绘制分形树的方法
2018/06/22 Python
Python Selenium 之数据驱动测试的实现
2019/08/01 Python
通过python扫描二维码/条形码并打印数据
2019/11/14 Python
tensorflow通过模型文件,使用tensorboard查看其模型图Graph方式
2020/01/23 Python
python cookie反爬处理的实现
2020/11/01 Python
HTML5 常见面试题之PC端和移动端区别介绍
2018/01/22 HTML / CSS
英国Lookfantastic中文网站:护肤品美妆美发购物(英国直邮)
2020/04/27 全球购物
秋季婚礼证婚词
2014/01/11 职场文书
企业元宵节主持词
2014/03/25 职场文书
三好生演讲稿
2014/09/12 职场文书
2014年项目经理工作总结
2014/11/24 职场文书
写给医院的感谢信
2015/01/22 职场文书
考试作弊检讨
2015/01/27 职场文书
浅谈Redis主从复制以及主从复制原理
2021/05/29 Redis
PHP使用QR Code生成二维码实例
2021/07/07 PHP