jquery+css3实现熊猫tv导航代码分享
时间:2019-04-13
本文章向大家介绍jquery+css3实现熊猫tv导航代码分享,主要包括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; }
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 如何在Ubuntu 18.04(实体机)上配置OpenWRT的开发环境
- Android 组合控件实现布局的复用的方法
- Android编程实现播放音频的方法示例
- 使用VSCode的Remote-SSH连接Linux进行远程开发
- Android ListView之EfficientAdapte的使用详解
- JavaScript:ECMAScript 2020中的新增功能
- Android编程实现播放视频的方法示例
- Android开发之RadioGroup的简单使用与监听示例
- Android 根据手势顶部View自动展示与隐藏效果
- Vue 3 如何安装
- Android实现状态栏(statusbar)渐变效果的示例
- Linux中stat函数和stat命令使用详解
- Android Beam 文件传输失败分析与解决方法
- Android实现修改状态栏背景、字体和图标颜色的方法
- Android视频压缩的示例代码