>  기사  >  웹 프론트엔드  >  jquery와 CSS3는 Panda TV 탐색 코드 공유를 실현합니다.

jquery와 CSS3는 Panda TV 탐색 코드 공유를 실현합니다.

小云云
小云云원래의
2018-02-22 15:19:121657검색

이 글에서는 주로 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 with class 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(&#39;left&#39;,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(&#39;left&#39;,0).width(&#39;72&#39;);
    $(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;
}

관련 추천:

vue 2.0 및 elementUI에서는 이동 경로 탐색 표시줄 메서드 코드

css3을 구현하여 마우스 따라가는 탐색 효과를 구현합니다

부트스트랩 구현 탐색 표시줄 예제 자세한 설명

위 내용은 jquery와 CSS3는 Panda TV 탐색 코드 공유를 실현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.