GNB UX enhancement.

git-svn-id: http://xe-core.googlecode.com/svn/branches/maserati@12207 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
ChanMyeong 2012-11-13 11:08:19 +00:00
parent d08ea88e24
commit daf65a1c66
2 changed files with 5 additions and 5 deletions

View file

@ -127,26 +127,26 @@ jQuery(function($){
}); });
var parentIndex = $xGnb_li.find('>ul>li.active_').closest('li.active').attr('data-index'); var parentIndex = $xGnb_li.find('>ul>li.active_').closest('li.active').attr('data-index');
$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
// GNB Click toggle // GNB Click toggle
$xGnb_li.find('>a').click(function(){ $xGnb_li.find('>a').click(function(){
var $parent = $(this).parent('li'); var $parent = $(this).parent('li');
var hasOpen = $parent.hasClass('open'); var hasOpen = $parent.hasClass('open');
var hasActive = $parent.hasClass('active'); var hasActive = $parent.hasClass('active');
var hasList = $parent.find('>ul').length >= 1; var hasList = $parent.find('>ul').length >= 1;
var hasWide = $xBody.hasClass('wide');
function openGNB(){ function openGNB(){
$xBody.removeClass('wide'); $xBody.removeClass('wide');
reflow(); reflow();
} }
if(!hasOpen && !hasActive && hasList){ if(!hasOpen && !hasActive && hasList){ // Down to open
$parent.addClass('open').find('>ul').slideDown(100); $parent.addClass('open').find('>ul').slideDown(100);
openGNB(); openGNB();
return false; return false;
} else if(hasOpen && !hasActive && hasList){ } else if(hasOpen && !hasActive && hasList && !hasWide){ // Up to close
$parent.removeClass('open').find('>ul').slideUp(100); $parent.removeClass('open').find('>ul').slideUp(100);
openGNB(); openGNB();
return false; return false;
} else if($xBody.hasClass('wide') && !hasList || hasActive){ } else if(hasWide && !hasList || hasActive || hasWide && hasOpen){ // Right to open
openGNB(); openGNB();
return false; return false;
} }

File diff suppressed because one or more lines are too long