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实现简单实用的轮播器
May 23 jQuery
JQuery EasyUI的一些常用组件
Jul 12 jQuery
用户管理的设计_jquery的ajax实现二级联动效果
Jul 13 jQuery
jQuery实现表格冻结顶栏效果
Aug 20 jQuery
jQuery实现的手动拖动控制进度条效果示例【测试可用】
Apr 18 jQuery
菊花转动的jquery加载动画效果
Aug 19 jQuery
jQuery动态生成的元素绑定事件操作实例分析
May 04 jQuery
JQuery常用选择器功能与用法实例分析
Dec 23 jQuery
jQuery 选择器用法基础入门示例
Jan 04 jQuery
jquery实现点击弹出对话框
Feb 08 jQuery
jQuery 隐藏/显示效果函数用法实例分析
May 20 jQuery
jquery实现简易验证插件封装
Sep 13 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
phpinfo 系统查看参数函数代码
2009/06/05 PHP
详解如何实现Laravel的服务容器的方法示例
2019/04/15 PHP
Mootools 1.2教程 输入过滤第一部分(数字)
2009/09/15 Javascript
基于jquery的无刷新分页技术
2011/06/11 Javascript
js实现杯子倒水问题自动求解程序
2013/03/25 Javascript
Document:getElementsByName()使用方法及示例
2013/10/28 Javascript
js检测判断日期大于多少天的方法
2015/05/04 Javascript
基于JavaScript获取鼠标位置的各种方法
2015/12/16 Javascript
bootstrap-treeview自定义双击事件实现方法
2016/01/09 Javascript
JavaScript对象数组如何按指定属性和排序方向进行排序
2016/06/15 Javascript
Bootstrap轮播图的使用和理解4
2016/12/14 Javascript
基于Bootstrap分页的实例讲解(必看篇)
2017/07/04 Javascript
详解react-webpack2-热模块替换[HMR]
2017/08/03 Javascript
JS实现基于拖拽改变物体大小的方法
2018/01/23 Javascript
AngularJS标签页tab选项卡切换功能经典实例详解
2018/05/16 Javascript
浅析JS中回调函数及用法
2018/07/25 Javascript
小程序登录之支付宝授权的实现示例
2019/12/13 Javascript
vue 监听 Treeselect 选择项的改变操作
2020/08/31 Javascript
[02:47]2018年度DOTA2最佳辅助位选手4号位-完美盛典
2018/12/17 DOTA
Python2.7读取PDF文件的方法示例
2017/07/13 Python
python中判断文件编码的chardet(实例讲解)
2017/12/21 Python
Python数字图像处理之霍夫线变换实现详解
2018/01/12 Python
pyinstaller打包成无控制台程序时运行出错(与popen冲突的解决方法)
2020/04/15 Python
Python打印不合法的文件名
2020/07/31 Python
python中scrapy处理项目数据的实例分析
2020/11/22 Python
基于Python的接口自动化unittest测试框架和ddt数据驱动详解
2021/01/27 Python
优衣库英国官网:UNIQLO英国
2016/12/25 全球购物
Holland & Barrett爱尔兰:英国领先的健康零售商
2019/03/31 全球购物
保加利亚运动鞋购物网站:SneakerStudio.bg
2020/12/23 全球购物
班队活动设计方案
2014/01/30 职场文书
工作表现自我评价
2014/02/08 职场文书
上课打牌的检讨书
2014/02/15 职场文书
完整版商业计划书
2014/09/15 职场文书
2014第二批党的群众路线教育实践活动对照检查材料思想汇报
2014/09/18 职场文书
免职证明样本
2014/10/23 职场文书
python正则表达式re.search()的基本使用教程
2021/05/21 Python