> 웹 프론트엔드 > JS 튜토리얼 > jQuery_jquery를 기반으로 한 메뉴 전환 효과

jQuery_jquery를 기반으로 한 메뉴 전환 효과

WBOY
풀어 주다: 2016-05-16 15:36:21
원래의
1128명이 탐색했습니다.

매우 부드러운 메뉴 표시 효과입니다. 마우스를 위아래로 움직이면 보조 메뉴가 지연 없이 매우 빠르게 전환되어 사용자에게 부드러운 느낌을 줍니다. 이 효과는 jQuery 플러그인 메뉴 목표의 도움으로 달성됩니다. 이 기사에서는 예제를 사용하여 초고속 메뉴 효과를 달성하는 방법을 설명합니다.

HTML
먼저, 전자상거래 사이트에서 흔히 사용하는 상품 카테고리를 빌려 메인 메뉴를 만듭니다. html 구조 코드는 다음과 같으며, 여기서는 html5의 data-submenu-id 속성 설정을 사용하는데, 이는 플러그인을 호출할 때 매우 유용합니다.

<div class="active"> 
  <ul class="dropdown-menu" role="menu"> 
    <li data-submenu-id="submenu-patas"><a href="#">服装服饰</a></li> 
    <li data-submenu-id="submenu-snub-nosed"><a href="#"> 箱包配饰</a></li> 
    <li data-submenu-id="submenu-duoc-langur"><a href="#">数码家电</a></li> 
    <li data-submenu-id="submenu-pygmy"><a href="#">美容护发</a></li> 
    <li data-submenu-id="submenu-tamarin"><a href="#">母婴用品</a></li> 
    <li data-submenu-id="submenu-monk"><a href="#">家居建材</a></li> 
    <li data-submenu-id="submenu-gabon"><a href="#">食品百货</a></li> 
    <li data-submenu-id="submenu-grivet"><a href="#">户外汽车</a></li> 
    <li data-submenu-id="submenu-red-leaf"><a href="#">文化玩乐</a></li> 
    <li data-submenu-id="submenu-king-colobus"><a href="#">生活服务</a></li> 
  </ul> 
</div> 
로그인 후 복사

하위 메뉴는 주 메뉴에 해당합니다. 각 하위 메뉴의 id 속성 값은 주 메뉴의 data-submenu-id 속성 값과 일치해야 합니다. 하위 메뉴의 내용은 p, img를 포함한 모든 html 태그 코드일 수 있습니다. , 오디오 형식은 다음과 같습니다.

<div id="submenu-patas" class="popover"> 
任意html代码 
</div> 
로그인 후 복사

CSS
메인 메뉴 드롭다운 메뉴의 위치를 ​​수정했으며, 하위 메뉴 팝오버는 기본적으로 숨겨져 있습니다. CSS3 기술을 통해 메뉴 그림자 둥근 효과를 설정할 수 있으며, 하위 메뉴 콘텐츠의 CSS를 필요에 따라 자유롭게 사용할 수 있습니다.

.active{position:relative} 
.dropdown-menu { position: absolute; 
 z-index: 1000;float: left; 
 min-width: 120px;padding: 5px 0;margin: 2px 0 0;list-style: none; 
 background-color: #ffffff;border: 1px solid #ccc; 
 -webkit-border-radius: 6px;-moz-border-radius: 6px;border-radius: 6px; 
 -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);-moz-box-shadow: 0 5px 10px 
rgba(0, 0, 0, 0.2);box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); 
} 
.dropdown-menu li{height:24px; line-height:24px; text-align:center} 
.dropdown-menu li a{display:block} 
.dropdown-menu li a:hover{color:#fff; text-decoration:none; background:#39f} 
.popover { 
 position: absolute;top: 0;left: 0; z-index: 1010;display: none; 
 width: 320px;-webkit-border-radius: 6px;-moz-border-radius: 6px;border-radius: 6px; 
 -webkit-border-top-left-radius: 0px;-webkit-border-bottom-left-radius: 0px; 
 border-top-left-radius: 0px;border-bottom-left-radius: 0px;overflow: hidden;    
 padding: 1px 1px 1px 15px;text-align: left;white-space: normal; 
 background-color: #fff;border: 1px solid #ccc; 
 border: 1px solid rgba(0, 0, 0, 0.2); 
 webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);-moz-box-shadow: 0 5px 10px 
rgba(0, 0, 0, 0.2);box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); 
} 
로그인 후 복사

jQuery
아래에서는 엄숙하게 jquery.menu-aim.js를 시작합니다. 이 플러그인은 jQuery를 기반으로 한 메뉴 플러그인입니다. 플러그인 작성자는 마우스 궤적에 따라 사용자 경험에 능숙합니다. 메뉴 전환 효과가 생생하고 절묘하게 구현되었습니다. ""초고속" 응답 효과가 "초멋지다"라는 느낌을 주나요? 플러그인 주소:
$(element).menuAim()을 사용하여 jquery.menu-aim.js를 호출하고, 마우스가 기본 메뉴를 트리거할 때 사용자 정의 함수 activateSubmenu()를 호출하고, 기본 메뉴를 떠날 때 사용자 정의 함수 deactivateSubmenu()를 호출합니다.

$(function(){ 
   $(".dropdown-menu").menuAim({ 
      activate: activateSubmenu,//触发主菜单,显示子菜单 
      deactivate: deactivateSubmenu //离开主菜单,隐藏子菜单 
   }); 
}); 
로그인 후 복사

위 호출을 통해 하위 메뉴 간의 빠른 전환을 완료할 수 있습니다. jquery.menu-aim.js는 마우스 안팎의 움직임, 함수 호출 등을 제어하는 ​​enter() 및 exit()와 같은 다른 메서드도 제공합니다. .
다음으로 맞춤 함수를 작성합니다

var $menu = $(".dropdown-menu"); 
 
function activateSubmenu(row) { 
  var $row = $(row), 
  submenuId = $row.data("submenuId"), 
  $submenu = $("#" + submenuId), 
  offset = $menu.offset(), 
  height = $menu.outerHeight(), 
  width = $menu.outerWidth(); 
 
  $submenu.css({ //设置子菜单样式 
     display: "block", //显示子菜单 
     top: offset.top, 
     left: offset.left + width - 5, 
     height: height - 4  
  }); 
  //设置主菜单样式(鼠标滑向主菜单时) 
  $row.find("a").addClass("maintainHover"); 
} 
 
function deactivateSubmenu(row) { 
  var $row = $(row), 
  submenuId = $row.data("submenuId"), 
  $submenu = $("#" + submenuId); 
 
  $submenu.css("display", "none"); //隐藏子菜单 
  $row.find("a").removeClass("maintainHover");恢复主菜单样式 
} 
로그인 후 복사

아마존.cn 스타일의 메뉴 효과를 만들 수도 있습니다. 위 내용이 이 글의 전체 내용입니다. 이 글이 jquery를 배우는 모든 분들께 도움이 되기를 바랍니다.

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿