$(function($){ $.fn.gnb = function(options) { var opts = jQuery.extend(options); var gnbArea = $('.gnb-area'); var gnb = $(this); var gnbList = gnb.find('>ul>li'); var submenu = gnb.find('.submenu'); var submenuList = submenu.find('>ul>li'); function showMenu() { t = $(this).parent('li'); if (!t.hasClass('active')) { gnbList.removeClass('active'); gnbList.bind("focus mouseover",function(){ $(this).addClass('active'); }); gnbList.bind("mouseleave",function(){ jQuery(this).removeClass('active'); }); } gnbArea.stop(true, false).animate({ height : 300}, 500, 'easeOutQuart'); submenu.find('ul').stop(true, false).delay(100).animate( { marginTop : 17, opacity : 1 }, 300 ); } function removeMenu(){ gnbList.removeClass('active'); } function hideMenu() { if(!gnb.hasClass('fixed')){ gnbArea.removeClass("open"); } gnbArea.stop(true, false).animate({ height : 50}, 500, 'easeOutQuart'); submenu.find('ul').stop(true, false).delay(100).animate( { marginTop : 25, opacity : 0 }, 300 ); } return this.each(function() { gnbList.find('>a').mouseover(showMenu).focus(showMenu); gnb.mouseleave(removeMenu); gnbArea.mouseleave(hideMenu); }); } var gnbOffset = $(".gnb-area").offset().top; $(window).scroll(function(){ if ($(document).scrollTop() > gnbOffset ) { $(".gnb-area").addClass("fixed"); } else { $(".gnb-area").removeClass("fixed"); }; }); }); $(document).ready(function(){ // GNB $("#gnb").gnb(); });