>웹 프론트엔드 >JS 튜토리얼 >jquery CSS3을 사용하여 Windows 10 시작 menu_jquery를 모방하는 드롭다운 탐색 메뉴 효과 구현

jquery CSS3을 사용하여 Windows 10 시작 menu_jquery를 모방하는 드롭다운 탐색 메뉴 효과 구현

WBOY
WBOY원래의
2016-05-16 15:38:022205검색

Windows 10 시작 메뉴를 모방한 드롭다운 탐색 메뉴 효과입니다. 이 드롭다운 메뉴는 jQuery와 CSS3를 사용하여 Windows 10 시작 메뉴와 유사한 스타일 효과를 얻습니다. 코드는 간결하고 효과는 매우 세련됩니다.

데모 보기 소스 코드 다운로드

이 드롭다운 메뉴의 HTML 구조는 매우 간단합니다. 기본 HTML 구조는 다음과 같습니다.

<div id="top-bar" class="top-bar">
 <div class="bar">
  <button id="navbox-trigger" class="navbox-trigger"><i class="fa fa-lg fa-th"></i></button>
 </div>
 <div class="navbox">
  <div class="navbox-tiles">
  <a href="#" class="tile">
   <div class="icon"><i class="fa fa-home"></i></div><span class="title">Home</span>
  </a>
  ......
  </div>
 </div>
</div>

CSS 스타일

CSS 스타일에서 상단 탐색 표시줄 .top-bar는 고정 높이 50픽셀과 상대 위치로 설정되며 높은 Z-색인 값이 부여됩니다.

.top-bar {
 height: 50px;
 position: relative;
 z-index: 1000;
}

드롭다운 menu.navbox는 처음에는 숨겨져 있으며 절대 위치 지정을 사용하고 TranslateY 메소드를 통해 탐색 막대 위 200픽셀로 이동합니다.

.top-bar .navbox {
 visibility: hidden;
 opacity: 0;
 position: absolute;
 top: 100%;
 left: 0;
 z-index: 1;
 -webkit-transform: translateY(-200px);
  -ms-transform: translateY(-200px);
   transform: translateY(-200px);
 -webkit-transition: all .2s;
   transition: all .2s;
}

그런 다음 드롭다운 메뉴가 활성화되면 투명도가 다시 1로 설정되고 표시되며 TranslateY 메서드를 통해 원래 위치로 다시 이동됩니다.

.top-bar.navbox-open .navbox {
 visibility: visible;
 opacity: 1;
 -webkit-transform: translateY(0);
  -ms-transform: translateY(0);
   transform: translateY(0);
 -webkit-transition: opacity .3s, -webkit-transform .3s;
   transition: opacity .3s, transform .3s;
}

자바스크립트

이 특수 효과에서는 jQUery를 사용하여 해당 클래스를 전환하고 메뉴 버튼을 엽니다.

(function () {
 $(document).ready(function () {
 $('#navbox-trigger').click(function () {
  return $('#top-bar').toggleClass('navbox-open');
 });
 return $(document).on('click', function (e) {
  var $target;
  $target = $(e.target);
  if (!$target.closest('.navbox').length && !$target.closest('#navbox-trigger').length) {
  return $('#top-bar').removeClass('navbox-open');
  }
 });
 });
}.call(this));
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.