멋진 탐색 모음 js+cssimplementation_jquery를 작성하는 방법을 단계별로 가르쳐주세요.

WBOY
풀어 주다: 2016-05-16 15:10:45
원래의
1240명이 탐색했습니다.

내비게이션 바를 만드는 방법을 단계별로 배워 보세요. 기사 마지막에는 종합적인 페이지를 만들고 참고할 수 있는 멋진 내비게이션 바를 공유해 드리겠습니다.

1. 현재 페이지의 강조 표시된 탐색 모음

첫 번째는 매우 간단한 HTML 코드입니다. ul+li로 메뉴를 구현합니다

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>导航栏一</title>
</head>
<body>
  <header class="header">
    <div class="nva">
      <ul class="list">
        <li><a href="Android.html">Android</a></li>
        <li><a href="C++.html">C++</a></li>
        <li><a href="IOS.html">IOS</a></li>
        <li><a href="Java.html">Java</a></li>
        <li><a href="Ruby.html">Ruby</a></li>
      </ul>
    </div>
  </header>
<h1>首页</h1>
</body>
</html>
로그인 후 복사

기본 효과:

다음으로 CSS 속성을 설정합니다. 여기서 태그 a는 라인 수준 요소이므로 표시를 사용하여 블록 수준 요소로 변환해야 합니다. 이는 매우 일반적이며 일반적인 사용법도 있습니다. 줄 높이

*{ margin:0; padding: 0; }
a{ text-decoration: none; }
.nva{ width: 100%; height: 40px; margin-top: 70px; background-color: #222; }
.list{ width: 80%; height: 40px; margin: 0 auto; list-style-type: none; }
.list li{ float: left; }
.list li a{ padding: 0 30px; color: #aaa; line-height: 40px; display: block; }
.list li a:hover{ background:#333; color:#fff; }
.list li a.on{ background:#333; color:#fff; }
h1{ margin: 20px auto; text-align: center; }
로그인 후 복사

얻은 효과:

마지막으로 JS를 사용하여 위치 지정 효과를 동적으로 추가했습니다.
이렇게 생각하면 js에서는 페이지가 점프할 때 링크가 있을 겁니다. 링크의 접미사에 따라 속성을 일치시키면 원하는 효과를 얻을 수 있도록 스타일을 변경하세요.
주의하셔야 할 점은 URL을 얻는 방법과 해당 URL에서 href 정보를 찾는 방법입니다

$(function(){
  //当前链接以/分割后最后一个元素索引
  var index = window.location.href.split("/").length-1;
  //最后一个元素前四个字母,防止后面带参数
  var href = window.location.href.split("/")[index].substr(0,4);
 
  if(href.length>0){
    //如果匹配开头成功则更改样式
    $(".list li a[href^='"+href+"']").addClass("on");
    //[attribute^=value]:匹配给定的属性是以某些值开始的元素。
  }else {
    //默认主页高亮
    $(".list li a[href^='index']").addClass("on");
  }
});
로그인 후 복사

렌더링

2. 자동으로 전환되는 탐색 표시줄을 슬라이드하세요.

1단계를 바탕으로 HTMLa 태그 내용을 수정한 후 CSS를 통해 애니메이션 효과를 설정합니다

<ul class="list">
        <li><a href="index01.html">
        <b>首页</b>
        <i>Index</i>
        </a></li>
        <li><a href="Android.html">
          <b>Android</b>
          <i>安卓</i>
        </a></li>
        <li><a href="C++.html">
          <b>C++</b>
          <i>谁加加</i>
        </a></li>
        <li><a href="IOS.html">
          <b>IOS</b>
          <i>苹果</i>
        </a></li>
        <li><a href="Java.html">
          <b>Java</b>
          <i>爪哇</i>
        </a></li>
        <li><a href="Ruby.html">
          <b>Ruby</b>
          <i>如八一</i>
        </a></li>
      </ul>
로그인 후 복사

CSS를 사용하여 애니메이션 효과를 얻으려면 먼저 b 및 i 태그를 블록 수준 요소로 설정하여 수직으로 분산되도록 한 다음 a에 대한 전환을 설정합니다. 소위 애니메이션은 그 뒤에 a를 변경하는 것입니다. 가 교차된 다음 위로 이동하여 쉽게 관찰할 수 있도록 테두리를 추가하세요. 아래 그림을 참조하세요

마지막으로 효과를 얻으려면 메뉴를 감싸는 div에 대해 오버플로 숨겨진 속성을 설정하면 됩니다

*{ margin:0; padding: 0; }
a{ text-decoration: none; }
.nva{ width: 100%; height: 40px; margin-top: 70px; background-color: #222; overflow: hidden; }
.list{ width: 80%; height: 40px; margin: 0 auto; list-style-type: none; }
.list li{ float: left; }
.list li a{ padding: 0 30px; color: #aaa; line-height: 40px; display: block; transition: 0.3s; }
              .list b,.list i{ display: block; }
.list li a:hover{ margin-top: -40px; background:#333; color:#fff; }
.list li a.on{ background:#333; color:#fff; }
h1{ margin: 20px auto; text-align: center; }
로그인 후 복사

JQ로도 구현 가능하며, 코드는 다음과 같습니다

$(function () {
  $(".list a").hover(function () {
    //stop是当执行其他动画的时候停止当前的
    $(this).stop().animate({
      "margin-top": -40
    }, 300);
  }, function () {
    $(this).stop().animate({
      "margin-top": 0
    }, 300);
  });
});
로그인 후 복사

3. 유연한 하위 메뉴 구현

우선 하위 메뉴는 다음과 같이 태그가 포함된 div로 둘러싸여 있습니다.

<li><a href="Android.html">
  <b>Android</b>
</a>
  <div class="down">
    <a href="#">子菜单1</a>
    <a href="#">子菜单2</a>
    <a href="#">子菜单3</a>
    <a href="#">子菜单4</a>
  </div>
</li>
로그인 후 복사

다음으로 스타일을 설정합니다. 하위 메뉴이므로 문서 페이지와 분리해야 하므로 절대 속성을 사용하는 경우 상위 컨테이너가 상대적이어야 합니다.

*{ margin:0; padding: 0; }
a{ text-decoration: none; }
.nva{ width: 100%; height: 40px; margin-top: 70px; background-color: #222; position: relative; }
.list{ width: 80%; height: 40px; margin: 0 auto; list-style-type: none; }
.list li{ float: left; }
.list li a{ padding: 0 30px; color: #aaa; line-height: 40px; display: block; transition: 0.3s; }
.list b{ display: block; }
.list li a:hover{ background:#333; color:#fff; }
.list li a.on{ background:#333; color:#fff; }
.list .down{ position: absolute; top: 40px; background-color: #222; /*display: none;*/ }
.list .down a{ color: #aaa; padding-left: 30px; display: block; }
h1{ margin: 20px auto; text-align: center; }
로그인 후 복사

다음 효과:


다음으로 JQ 및 이징 플러그인을 사용하여 애니메이션 제어
find 메소드는 일반적으로 조작 요소의 하위 요소 중
을 찾는 데 사용됩니다.

$(function () {
  $(".list li").hover(function () {
    //这里使用了easing插件
    $(this).find(".down").stop().slideDown({duration:1000,easing:"easeOutBounce"});
  }, function () {
    $(this).find(".down").stop().slideUp({duration:1000,easing:"easeOutBounce"});
  });
});
로그인 후 복사

효과, 사진 녹화는 그다지 좋지 않으며 사실 모두 탄력있는 애니메이션입니다.

위 내용은 이 글의 전체 내용입니다. 모든 분들의 공부에 도움이 되었으면 좋겠습니다.

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!