This time I will bring you jquery+css3 to make the navigation of the live broadcast platform. jquery+css3 to make the navigation of the live broadcast platform. What are the precautions? Here are the actual cases, let’s take a look.
Implementation principle
Please see the following source code
<p class="ph-nav" data-pdt-block="pheader-n"> <p class="ph-nav_shadow" style="left: 0px; width: 62px;"></p> <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> </p>
The code corresponding to the green box is class p of ph-nav_shadow.
Use jquery to change the left and width values of the mask layer (.ph-nav_shadow), and add css3 animation effects to realize the animation of the green box.
Call jquery to add and delete the li tag class to change the text color. (.ph-nav_item--current).
Specific implementation
Write html code
<header> <p class="w"> <p class="header_logo l"><img src="img/logo.png" alt=""></p> <p class="header_nav r"> <p class="header_nav_shadow"></p> <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> </p> </p> </header>
Write css code
.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; }
Write js code (main)
$(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; }
I believe you have mastered the method after reading the case in this article. For more exciting information, please pay attention to other related articles on the php Chinese website!
Recommended reading:
How to add li tags and attributes with jQuery
How to automatically load updates when the scroll bar slides to the bottom Multi-content
Realization of mouse-responsive transparency gradient effect
The above is the detailed content of jquery+css3 makes navigation of live broadcast platform. For more information, please follow other related articles on the PHP Chinese website!