65 lines
1.5 KiB
JavaScript
65 lines
1.5 KiB
JavaScript
jQuery(function(jQuery){
|
|
jQuery.fn.gnb = function(options) {
|
|
var opts = jQuery.extend(options);
|
|
var gnb = jQuery(this);
|
|
var gnbList = gnb.find('>ul>li');
|
|
var submenu = gnb.find('.submenu');
|
|
var submenuList = submenu.find('>ul>li');
|
|
var submenuBg = jQuery('.bg-submenu');
|
|
|
|
function showMenu() {
|
|
t = jQuery(this).parent('li');
|
|
if (!t.hasClass('active')) {
|
|
gnbList.removeClass('active');
|
|
t.addClass('active');
|
|
|
|
submenu.hide();
|
|
t.find('.submenu').slideDown(100);
|
|
if(t.find("div").hasClass("submenu")){
|
|
submenuBg.slideDown(100);
|
|
}else{
|
|
submenuBg.hide();
|
|
}
|
|
}
|
|
submenu.hide();
|
|
t.find('.submenu').slideDown('fast');
|
|
submenuBg.show();
|
|
}
|
|
|
|
function hideMenu() {
|
|
gnbList.removeClass('active');
|
|
submenu.hide();
|
|
submenuBg.hide();
|
|
activeMenu();
|
|
}
|
|
|
|
function activeMenu() {
|
|
if(opts.d1) {
|
|
t = gnbList.eq(opts.d1-1);
|
|
t.addClass('active');
|
|
t.find('.submenu').hide();
|
|
if(t.find("div").hasClass("submenu")){
|
|
submenuBg.hide();
|
|
}else{
|
|
submenuBg.hide();
|
|
}
|
|
t.find('.submenu').hide();
|
|
if(opts.d2) {
|
|
t.find('.submenu>ul>li').eq(opts.d2-1).addClass('on');
|
|
}
|
|
}
|
|
}
|
|
|
|
return this.each(function() {
|
|
activeMenu();
|
|
var isTablet = navigator.userAgent.match(/(iPhone|iPod|iPad|Android|BlackBerry|Windows Phone)/);
|
|
if( !isTablet ){
|
|
gnbList.find('>a').mouseover(showMenu).focus(showMenu);
|
|
}else{
|
|
gnbList.find('>a').click(showMenu2);
|
|
}
|
|
|
|
gnb.mouseleave(hideMenu);
|
|
});
|
|
}
|
|
}); |