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实现动态添加小广告
Jul 11 jQuery
jquery实现图片跟随鼠标的实例
Oct 17 jQuery
使用jQuery 操作table 完成单元格合并的实例
Dec 27 jQuery
CSS3结合jQuery实现动画效果及回调函数的实例
Dec 27 jQuery
浅谈ajax在jquery中的请求和servlet中的响应
Jan 22 jQuery
jquery radio 动态控制选中失效问题的解决方法
Feb 28 jQuery
jQuery中内容过滤器简单用法示例
Mar 31 jQuery
JQuery Ajax动态加载Table数据的实例讲解
Aug 09 jQuery
jQuery实现鼠标移入移出事件切换功能示例
Sep 06 jQuery
jquery.pagination.js分页使用教程
Oct 23 jQuery
JQuery事件委托(适用于给动态生成的脚本元素添加事件)
Feb 01 jQuery
jquery插件实现图片悬浮
Apr 16 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
操作Oracle的php类
2006/10/09 PHP
innerText和innerHTML 一些问题分析
2009/05/18 Javascript
ExtJs中简单的登录界面制作方法
2010/08/19 Javascript
自制的文件上传JS控件可支持IE、chrome、firefox etc
2014/04/18 Javascript
ff chrome和ie下全局动态定位的异同及全局高度的取法
2014/06/30 Javascript
escape函数解决js中ajax传递中文出现乱码问题
2014/10/30 Javascript
JS实现让网页背景图片斜向移动的方法
2015/02/25 Javascript
JQuery日历插件My97DatePicker日期范围限制
2016/01/20 Javascript
jQuery技巧之让任何组件都支持类似DOM的事件管理
2016/04/05 Javascript
js实现StringBuffer的简单实例
2016/09/02 Javascript
基于vue-cli3和element实现登陆页面
2019/11/13 Javascript
echarts实现晶体球面投影的实例教程
2020/10/10 Javascript
Python操作列表的常用方法分享
2014/02/13 Python
Python中的魔法方法深入理解
2014/07/09 Python
Python实现从URL地址提取文件名的方法
2015/05/15 Python
python利用lxml读写xml格式的文件
2017/08/10 Python
Python实现的人工神经网络算法示例【基于反向传播算法】
2017/11/11 Python
python递归实现快速排序
2018/08/18 Python
Django model 中设置联合约束和联合索引的方法
2019/08/06 Python
python实现批量修改文件名
2020/03/23 Python
pytorch 限制GPU使用效率详解(计算效率)
2020/06/27 Python
python爬虫爬取淘宝商品比价(附淘宝反爬虫机制解决小办法)
2020/12/03 Python
在Pycharm中安装Pandas库方法(简单易懂)
2021/02/20 Python
Mio Skincare中文官网:肌肤和身体护理
2016/10/26 全球购物
Skyscanner阿联酋:全球领先的旅游搜索平台
2017/11/25 全球购物
信号量和自旋锁的区别?如何选择使用?
2015/09/08 面试题
学校联谊活动方案
2014/02/15 职场文书
环保倡议书
2014/04/14 职场文书
公务员政审单位鉴定材料
2014/05/16 职场文书
整顿机关作风心得体会
2014/09/10 职场文书
小学假期安全广播稿
2014/09/28 职场文书
居委会个人对照检查材料思想汇报
2014/09/29 职场文书
离婚协议书范本2014
2014/10/27 职场文书
中学生运动会广播稿
2015/08/19 职场文书
党风廉政建设心得体会(2016最新版)
2016/01/22 职场文书
i7 6700处理器相当于i5几代
2022/04/19 数码科技