Issue 2442 minor fix.

git-svn-id: http://xe-core.googlecode.com/svn/branches/maserati@11216 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
ChanMyeong 2012-09-12 07:56:40 +00:00
parent 64cf235ba2
commit 3ef0efd139
5 changed files with 158 additions and 59 deletions

View file

@ -11,47 +11,84 @@ jQuery(function($){
$($(this).attr('data-toggle')).toggle();
return false;
});
// GNB Click
// GNB Height 100%
var $xBody = $('.x>.body');
var $xContent = $xBody.find('>.content');
var $xGnb = $xBody.find('>.gnb');
$xGnb.find('>ul>li>a').click(function(){
var $xGnbReady = $xGnb.hasClass('ready');
var $this = $(this);
var $li = $xGnb.find('>ul>li');
if($xGnbReady && $this.next('ul').length==1){
$li.not($this.parent('li')).removeClass('open');
$this.parent('li').toggleClass('open');
return false;
} else if(!$xGnbReady && $this.next('ul').length==1){
return false;
}
if($this.attr('href')=='#gnb' && !$this.parent('li').hasClass('open')){
$li.addClass('open');
$xGnb.removeClass('ready');
} else {
$li.removeClass('open');
$xGnb.addClass('ready');
}
var $xGnb_li = $xGnb.find('>ul>li');
$(window).resize(function(){
setTimeout(function(){
if($(window).width() >= 1024){ // Over than 1024px
$xGnb.height('auto').height($xBody.height());
} else { // Less than 1024
$xGnb.height('auto');
$xBody.removeClass('wide');
}
},100);
}).resize();
// Trigger for GNB height resize
$($xBody, $xContent, $xGnb).bind('click mouseenter mouseleave focusin focusout', function(){
$(window).resize();
});
// GNB Hover
function contentBugFix(){
// GNB Click toggle
// Add virtual class
$xGnb_li.find('>ul').prev('a').addClass('virtual');
// Virtual click
$xGnb_li.find('>a.virtual')
.bind('click focus', function(event){
var $this = $(this);
// Submenu toggle
if(!$xGnb.hasClass('all')) {
$xGnb_li.not($this.parent('li')).removeClass('open');
$(this).parent('li').toggleClass('open');
}
// GNB Hover
$xGnb.trigger('mouseenter');
return false;
});
// Toggle all
$xGnb_li.find('>a[href="#gnb"]')
.click(function(){
if(!$xGnb.hasClass('all')){ // Open All
$xGnb_li.addClass('open');
$xGnb.addClass('all');
} else { // Close All
$xGnb_li.removeClass('open');
$xGnb.removeClass('all');
}
})
.focus(function(){
// GNB Hover
$xGnb.trigger('mouseenter');
});
// GNB Hover toggle
function contentBugFix(){ // Chrome browser rendering bug fix
$xContent.width('99.99%');
setTimeout(function(){
$xContent.removeAttr('style');
}, 0);
}
$xGnb
.bind('mouseenter', function(){
if($xGnb.hasClass('ready')){
$xBody.removeClass('wide');
contentBugFix();
.mouseenter(function(){ // Mouseenter
if($(window).width() >= 1024){
setTimeout(function(){
$xBody.removeClass('wide');
contentBugFix();
}, 200);
}
})
.bind('mouseleave', function(){
if($xGnb.hasClass('ready')){
.mouseleave(function(){ // Mouseleave
if($(window).width() >= 1024){
$xBody.addClass('wide');
contentBugFix();
}
})
});
// GNB Close
$xGnb
.prepend('<button type="button" class="close before" />')
.append('<button type="button" class="close after" />');
$xGnb.find('>.before, >.after').focus(function(){
$xBody.addClass('wide');
contentBugFix();
});
});

View file

@ -11,24 +11,84 @@ jQuery(function($){
$($(this).attr('data-toggle')).toggle();
return false;
});
// GNB
$('.x .gnb>ul>li>a').click(function(){
var $t = $(this);
var $gnb = $('.gnb');
var $li = $('.x .gnb>ul>li');
if($gnb.hasClass('able') && $t.next('ul').length==1){
$li.not($t.parent('li')).removeClass('open');
$t.parent('li').toggleClass('open');
// GNB Height 100%
var $xBody = $('.x>.body');
var $xContent = $xBody.find('>.content');
var $xGnb = $xBody.find('>.gnb');
var $xGnb_li = $xGnb.find('>ul>li');
$(window).resize(function(){
setTimeout(function(){
if($(window).width() >= 1024){ // Over than 1024px
$xGnb.height('auto').height($xBody.height());
} else { // Less than 1024
$xGnb.height('auto');
$xBody.removeClass('wide');
}
},100);
}).resize();
// Trigger for GNB height resize
$($xBody, $xContent, $xGnb).bind('click mouseenter mouseleave focusin focusout', function(){
$(window).resize();
});
// GNB Click toggle
// Add virtual class
$xGnb_li.find('>ul').prev('a').addClass('virtual');
// Virtual click
$xGnb_li.find('>a.virtual')
.bind('click focus', function(event){
var $this = $(this);
// Submenu toggle
if(!$xGnb.hasClass('all')) {
$xGnb_li.not($this.parent('li')).removeClass('open');
$(this).parent('li').toggleClass('open');
}
// GNB Hover
$xGnb.trigger('mouseenter');
return false;
} else if(!$gnb.hasClass('able') && $t.next('ul').length==1){
return false;
}
if($t.attr('href')=='#gnb' && !$t.parent('li').hasClass('open')){
$li.addClass('open');
$('.x .gnb').removeClass('able');
} else {
$li.removeClass('open');
$('.x .gnb').addClass('able');
}
});
// Toggle all
$xGnb_li.find('>a[href="#gnb"]')
.click(function(){
if(!$xGnb.hasClass('all')){ // Open All
$xGnb_li.addClass('open');
$xGnb.addClass('all');
} else { // Close All
$xGnb_li.removeClass('open');
$xGnb.removeClass('all');
}
})
.focus(function(){
// GNB Hover
$xGnb.trigger('mouseenter');
});
// GNB Hover toggle
function contentBugFix(){ // Chrome browser rendering bug fix
$xContent.width('99.99%');
setTimeout(function(){
$xContent.removeAttr('style');
}, 0);
}
$xGnb
.mouseenter(function(){ // Mouseenter
if($(window).width() >= 1024){
setTimeout(function(){
$xBody.removeClass('wide');
contentBugFix();
}, 200);
}
})
.mouseleave(function(){ // Mouseleave
if($(window).width() >= 1024){
$xBody.addClass('wide');
contentBugFix();
}
});
// GNB Close
$xGnb
.prepend('<button type="button" class="close before" />')
.append('<button type="button" class="close after" />');
$xGnb.find('>.before, >.after').focus(function(){
$xBody.addClass('wide');
contentBugFix();
});
});