Heim >Web-Frontend >js-Tutorial >jquery+css3 erleichtert die Navigation auf der Live-Übertragungsplattform

jquery+css3 erleichtert die Navigation auf der Live-Übertragungsplattform

php中世界最好的语言
php中世界最好的语言Original
2018-03-14 17:32:271576Durchsuche

Dieses Mal bringe ich Ihnen jquery+css3, um die Navigation auf der Live-Übertragungsplattform zu erstellen. Was sind die Vorsichtsmaßnahmen für die Navigation auf der Live-Übertragungsplattform mit jquery+css3? , lass uns einen Blick darauf werfen.

Implementierungsprinzip

Bitte beachten Sie den folgenden Quellcode

<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>

Der dem Grün entsprechende Code Box ist p mit der Klasse ph-nav_shadow.

Verwenden Sie JQuery, um die Links- und Breitenwerte der Maskenebene (.ph-nav_shadow) zu ändern, und fügen Sie CSS3-Animationseffekte hinzu, um die Animation des grünen Felds zu realisieren.

Rufen Sie jquery auf, um die li-Tag-Klasse hinzuzufügen und zu löschen und die Textfarbe zu ändern. (.ph-nav_item--current).

Spezifische Implementierung

HTML-Code schreiben

 <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-Code schreiben

.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-Code schreiben (hauptsächlich)

$(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;
}

Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Inhalte finden Sie in anderen verwandten Artikeln PHP chinesische Website!

Empfohlene Lektüre:

So fügen Sie Li-Tags und -Attribute mit jQuery hinzu

So laden Sie Updates automatisch, wenn die Bildlaufleiste nach gleitet unten Multi-Content

Implementierung eines mausresponsiven Transparenzverlaufseffekts

Das obige ist der detaillierte Inhalt vonjquery+css3 erleichtert die Navigation auf der Live-Übertragungsplattform. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn