이 글에서는 Panda TV 내비게이션의 효과를 작성하기 위해 jquery+css3를 자세히 공유하고, 코드 공유도 좋아하는 친구들이 참고할 수 있습니다.
구현 원칙
다음 소스 코드를 참조하세요
<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>
녹색 상자에 해당하는 코드는 p이고 클래스는 ph-nav_shadow입니다.
jquery를 사용하여 마스크 레이어(.ph-nav_shadow)의 왼쪽 및 너비 값을 변경하고, CSS3 애니메이션 효과를 추가하여 녹색 상자의 애니메이션을 구현합니다.
jquery를 호출하여 li 태그 클래스를 추가 및 삭제하여 텍스트 색상을 변경하세요. (.ph-nav_item--현재).
특정 구현
html 코드 작성
<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>
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; }
위 내용은 제가 모두를 위해 편집한 내용입니다. 모두에게 도움이 되기를 바랍니다. 미래에.
관련 기사:
파일 드래그를 제어하고 js에서 콘텐츠 드래그 기능을 얻는 방법
위 내용은 jquery+css3을 사용하여 Panda TV 탐색을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!