ホームページ > ウェブフロントエンド > jsチュートリアル > jqueryとcss3はパンダTVナビゲーションコード共有を実装します

jqueryとcss3はパンダTVナビゲーションコード共有を実装します

小云云
リリース: 2018-02-22 15:19:12
オリジナル
1685 人が閲覧しました

この記事では、主に jquery+css3 について詳しく説明し、Panda TV ナビゲーションの効果を説明します。また、コード共有が好きな友人も参照してください。皆さんのお役に立てれば幸いです。

実装原理

以下のソースコードをご覧ください


<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>
ログイン後にコピー

緑色のボックスに対応するコードはクラスph-nav_shadowのpです。

jqueryを使用してマスクレイヤー(.ph-nav_shadow)の左と幅の値を変更し、css3アニメーション効果を追加して緑色のボックスのアニメーションを実現します。

jqueryを呼び出してliタグクラスを追加および削除し、テキストの色を変更します。 (.ph-nav_item--current)。

具体的な実装

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はパンダTVナビゲーションコード共有を実装しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート