GNB UX enhancement.

git-svn-id: http://xe-core.googlecode.com/svn/branches/maserati@12206 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
ChanMyeong 2012-11-13 09:41:17 +00:00
parent 2c97b4512b
commit d08ea88e24
2 changed files with 20 additions and 15 deletions

View file

@ -129,22 +129,27 @@ jQuery(function($){
$xGnb_li.find('>ul>li.active_').clone().addClass('active').attr('data-index', parentIndex).prependTo('#gnbNav').find('>a').prepend('<i />'); $xGnb_li.find('>ul>li.active_').clone().addClass('active').attr('data-index', parentIndex).prependTo('#gnbNav').find('>a').prepend('<i />');
// Index // Index
// GNB Click toggle // GNB Click toggle
$xGnb_li.find('>ul').prev('a').click(function(){ $xGnb_li.find('>a').click(function(){
var $parent = $(this).parent('li'); var $parent = $(this).parent('li');
if(!$parent.hasClass('open') && !$parent.hasClass('active')){ var hasOpen = $parent.hasClass('open');
$parent.addClass('open').find('>ul').slideDown(100); var hasActive = $parent.hasClass('active');
} else if($parent.hasClass('open') && !$parent.hasClass('active')) { var hasList = $parent.find('>ul').length >= 1;
$parent.removeClass('open').find('>ul').slideUp(100); function openGNB(){
$xBody.removeClass('wide');
reflow();
} }
$xBody.removeClass('wide'); if(!hasOpen && !hasActive && hasList){
reflow(); $parent.addClass('open').find('>ul').slideDown(100);
openGNB();
return false; return false;
}); } else if(hasOpen && !hasActive && hasList){
$xGnb_li.find('>a').focus(function(){ $parent.removeClass('open').find('>ul').slideUp(100);
var $parent = $(this).parent(); openGNB();
$parent.addClass('open').find('>ul').slideDown(100).end().siblings('li').removeClass('open').find('>ul').slideUp(100); return false;
$xBody.removeClass('wide'); } else if($xBody.hasClass('wide') && !hasList || hasActive){
reflow(); openGNB();
return false;
}
}); });
// GNB Mobile Toggle // GNB Mobile Toggle
$xGnb.find('>a[href="#gnbNav"]').click(function(){ $xGnb.find('>a[href="#gnbNav"]').click(function(){

File diff suppressed because one or more lines are too long