Navigation is displayed differently in the resolution of 640px or less. Resizing the width of your browser, try it.
Global Navigation Bar
XHTML
<div class="gnb jx">
<ul>
<li class="activeOn"><a href="#"><span>Menu 1</span></a>
<ul>
<li><a href="#">Menu 1-1</a></li>
<li><a href="#">Menu 1-2</a></li>
<li><a href="#">Menu 1-3</a></li>
</ul>
</li>
<li><a href="#"><span>Menu 2</span></a>
<ul>
<li><a href="#">Menu 2-1</a></li>
<li><a href="#">Menu 2-2</a></li>
<li><a href="#">Menu 2-3</a></li>
</ul>
</li>
<li><a href="#"><span>메뉴 3</span></a>
<ul>
<li><a href="#">메뉴 3-1</a></li>
<li><a href="#">메뉴 3-2</a></li>
<li><a href="#">메뉴 3-3</a></li>
</ul>
</li>
</ul>
<a href="#" class="setting">GNB Setting</a>
</div>
CSS
/* Global Navigation Bar */
.gnb{position:relative;clear:both;border:1px solid #c1c1c1;border-left:0;border-right:0;background-color:#efefef;background:#efefef -webkit-gradient(linear, 0% 0%, 0% 100%, from(#efefef), to(#dcdcdc));background:#efefef -moz-linear-gradient(top, #efefef, #dcdcdc);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr=#efefef, endColorStr=#dcdcdc);zoom:1}
.gnb ul{margin:0;padding:0 0 0 2em;list-style:none;border:1px solid #fff;border-left:0;border-right:0;zoom:1}
.gnb ul ul{position:absolute;top:33px;left:0;border:1px solid #ccc;padding:0;background:#fff}
.gnb ul:after{content:"";display:block;clear:both}
.gnb li{position:relative;float:left;border:1px solid #fff;border-top:0;border-bottom:0;margin:0 -1px 0 0}
.gnb li li{float:none;clear:both;overflow:hidden;border:0;border-top:1px dotted #ccc;margin:0;padding:2px}
.gnb li li:first-child{border:0}
.gnb li a{float:left;font-weight:bold;color:#333;font-size:13px;padding:8px 18px;white-space:nowrap;text-decoration:none;text-shadow:0 1px 0 #fff;zoom:1}
.gnb li a:hover,
.gnb li a:active,
.gnb li a:focus,
.gnb li.active a,
.gnb li.activeOn a{background:#fff;border:1px solid #ddd;padding:7px 17px}
.gnb li li a{display:block;float:none;color:#555;padding:5px 15px !important;font-weight:normal !important;border:0 !important}
.gnb li li a:hover,
.gnb li li a:active,
.gnb li li a:focus{border:0;background:#eee}
.gnb .setting{position:absolute;top:8px;right:2em;width:16px;height:0;padding:16px 0 0 0;overflow:hidden;background:url(../img/iconSetting.gif) no-repeat center}
.gnb.jx ul{display:block;position:static;padding:0}
.gnb.jx li{float:none;clear:both;border-top:1px solid #ccc}
.gnb.jx ul ul{border:0}
.gnb.jx li li{border:0}
.gnb.jx li a{float:none;display:block}
.gnb.jx li a:hover,
.gnb.jx li a:active,
.gnb.jx li a:focus{background:none}
.gnb.jx li.activeOn>a{background:#ddd}
@media only all and (max-width:860px) {
.gnb ul{padding-left:1em}
.gnb .setting{right:1em}
}
@media only all and (max-width:640px) {
.gnb ul{display:block;position:static;padding:0}
.gnb li{float:none;clear:both;border-top:1px solid #ccc}
.gnb ul ul{border:0;position:static}
.gnb li li{border:0}
.gnb li a{float:none;display:block}
.gnb li a:hover,
.gnb li a:active,
.gnb li a:focus{background:none}
.gnb li.activeOn>a{background:#ddd}
}
JS
jQuery(function($){
// Global Navigation Bar
var gnb = $('div.gnb');
var gnb_i = gnb.find('>ul>li');
var gnb_a = gnb_i.find('>a');
gnb.removeClass('jx');
gnb_i.find('>ul').hide();
gnb.find('>ul>li[class=active]').find('>ul').show();
function gnbToggle(event){
var t = $(this);
gnb_i.removeClass('active');
if (t.next('ul').is(':hidden')) {
gnb_i.find('>ul').slideUp(100);
t.next('ul').slideDown(100);
t.parent('li').addClass('active');
} else if (t.next('ul').is(':visible')){
t.next('ul').show();
t.parent('li').addClass('active');
} else if (!t.next('ul').langth) {
gnb_i.find('>ul').slideUp(100);
t.parent('li').removeClass('active');
};
}
gnb_a.focus(gnbToggle).click(gnbToggle).filter('[href=#]').click(function(){return false});
gnb_a.mouseover(function(){
if($(document).width()>640){
$(this).click();
} else {
return false;
}
});
gnb.mouseleave(function(){
if($(document).width()>640){
gnbToggle();
} else {
return false;
}
});
gnb.find('li:last-child>a, li:last-child>ul>li:last-child>a').blur(gnbToggle);
});
Lined Tab Navigation
XHTML
<div class="tab line jx">
<ul>
<li><a href="#"><span>Menu 1</span></a>
<ul>
<li class="active"><a href="#">Menu 1-1</a></li>
<li><a href="#">Menu 1-2</a></li>
<li><a href="#">Menu 1-3</a></li>
</ul>
</li>
<li><a href="#"><span>Menu 2</span></a>
<ul>
<li><a href="#">Menu 2-1</a></li>
<li><a href="#">Menu 2-2</a></li>
<li><a href="#">Menu 2-3</a></li>
</ul>
</li>
<li><a href="#"><span>메뉴 3</span></a>
<ul>
<li><a href="#">메뉴 3-1</a></li>
<li><a href="#">메뉴 3-2</a></li>
<li><a href="#">메뉴 3-3</a></li>
</ul>
</li>
</ul>
</div>
CSS
/* Lined Tab Navigation */
.tab.line{padding:0 0 35px 0;margin:1em 0}
.tab.line ul{position:relative;margin:0;padding:0;list-style:none;border-bottom:1px solid #ccc;zoom:1}
.tab.line ul:after{content:"";display:block;clear:both}
.tab.line li{float:left;margin-bottom:-1px}
.tab.line li a{position:relative;float:left;text-decoration:none;border:1px solid #eee;border-bottom-color:#ccc;background:#fafafa;color:#333}
.tab.line li a span{display:inline-block;height:14px;padding:6px 25px 6px 25px;letter-spacing:-1px;cursor:pointer}
.tab.line li ul{width:100%;position:absolute;top:40px;left:0;list-style:none;border:0;margin:0;padding:0;white-space:nowrap;overflow:hidden;zoom:1}
.tab.line li ul:after{content:"";display:block;clear:both}
.tab.line li li{position:relative;left:-1px;padding:0 10px;border-left:1px solid #ddd;overflow:visible}
.tab.line li li a{padding:0;margin:0;border:0 !important;color:#666 !important;font-weight:normal;background:transparent;letter-spacing:normal}
.tab.line li.active a{border:1px solid #ccc;border-bottom:1px solid #fff;margin-top:-1px;background:transparent}
.tab.line li.active a span{padding-top:7px;font-weight:bold}
.tab.line li li a:hover,
.tab.line li li a:active,
.tab.line li li a:focus,
.tab.line li li.active a{font-weight:bold;letter-spacing:-1px;color:#333 !important}
.tab.line.jx{padding:0}
.tab.line.jx ul{border:0}
.tab.line.jx li{float:none}
.tab.line.jx li a{float:none;display:block;font-weight:bold;color:#333;border:1px solid #eee !important;border-bottom-color:#ccc !important;background:#fafafa !important}
.tab.line.jx li ul{position:static;display:block !important;padding:5px 0;left:0;top:0}
.tab.line.jx li li{display:inline}
.tab.line.jx li li a{display:inline;letter-spacing:normal;border:0 !important;font-weight:normal !important;color:#666 !important;background:none !important}
.tab.line.jx li li a:hover,
.tab.line.jx li li a:active,
.tab.line.jx li li a:focus{text-decoration:underline}
JS
jQuery(function($){
// Lined Tab Navigation
var tab_line = $('div.tab.line');
var tab_line_i = tab_line.find('<ul<li');
var tab_line_ii = tab_line.find('<ul<li<ul<li');
tab_line.removeClass('jx');
if($(document).width()<=640){
tab_line.addClass('jx');
}
$(window).resize(function(){
if($(document).width()<=640){
tab_line.addClass('jx');
} else {
tab_line.removeClass('jx');
}
});
tab_line_i.find('>ul').hide();
tab_line_i.find('<ul<li[class=active]').parents('li').attr('class','active');
tab_line.find('<ul<li[class=active]').find('>ul').show();
function lineTabMenuToggle(event){
if (!tab_line.hasClass('jx')){
var t = $(this);
tab_line_i.find('>ul').hide();
t.next('ul').show();
tab_line_i.removeClass('active');
t.parent('li').addClass('active');
return false;
}
}
function lineTabSubMenuActive(){
tab_line_ii.removeClass('active');
$(this).parent(tab_line_ii).addClass('active');
return false;
};
tab_line_i.find('>a[href=#]').click(lineTabMenuToggle).focus(lineTabMenuToggle);
tab_line_ii.find('>a[href=#]').click(lineTabSubMenuActive).focus(lineTabSubMenuActive);
});
Faced Tab Navigation
XHTML
<div class="tab face jx">
<ul>
<li><a href="#"><span>Menu 1</span></a>
<ul>
<li class="active"><a href="#">Menu 1-1</a></li>
<li><a href="#">Menu 1-2</a></li>
<li><a href="#">Menu 1-3</a></li>
</ul>
</li>
<li><a href="#"><span>Menu 2</span></a>
<ul>
<li><a href="#">Menu 2-1</a></li>
<li><a href="#">Menu 2-2</a></li>
<li><a href="#">Menu 2-3</a></li>
</ul>
</li>
<li><a href="#"><span>메뉴 3</span></a>
<ul>
<li><a href="#">메뉴 3-1</a></li>
<li><a href="#">메뉴 3-2</a></li>
<li><a href="#">메뉴 3-3</a></li>
</ul>
</li>
</ul>
</div>
CSS
/* Faced Tab Navigation */
.tab.face{padding:0 0 35px 0;margin:1em 0}
.tab.face ul{position:relative;margin:0;padding:0;_padding:2px 0 0 0;list-style:none;border-bottom:2px solid #315593;zoom:1}
.tab.face ul:after{content:"";display:block;clear:both}
.tab.face li{float:left;margin-right:1px;background:#4CB1E5}
.tab.face li a,
.tab.face li a span{position:relative;cursor:pointer}
.tab.face li a{float:left;text-decoration:none}
.tab.face li a span{display:inline-block;padding:6px 25px 6px 25px;color:#fff}
.tab.face li ul{width:100%;position:absolute;top:40px;left:0;list-style:none;border:0;margin:0;padding:0;white-space:nowrap;overflow:hidden;zoom:1}
.tab.face li ul:after{content:"";display:block;clear:both}
.tab.face li li{position:relative;left:-1px;padding:0 10px;border-left:1px solid #ddd;overflow:visible;background:transparent !important}
.tab.face li li a{padding:0;margin:0;font-weight:normal;color:#666}
.tab.face li.active{background-color:#315593;margin-top:-1px}
.tab.face li.active a span{padding-top:7px;padding-bottom:7px;font-weight:bold;letter-spacing:-1px}
.tab.face li li a:hover,
.tab.face li li a:active,
.tab.face li li a:focus,
.tab.face li li.active a{font-weight:bold;letter-spacing:-1px;color:#333}
.tab.face.jx{padding:0}
.tab.face.jx ul{border:0}
.tab.face.jx li{float:none}
.tab.face.jx li a{float:none;font-weight:bold}
.tab.face.jx li ul{display:block !important;position:static;padding:5px 0;left:0;top:0;background:#fff}
.tab.face.jx li li{display:inline}
.tab.face.jx li li a{font-weight:normal !important;color:#666;letter-spacing:normal}
.tab.face.jx li li a:hover,
.tab.face.jx li li a:active,
.tab.face.jx li li a:focus{text-decoration:underline}
JS
jQuery(function($){
// Faced Tab Navigation
var tab_face = $('div.tab.face');
var tab_face_i = tab_face.find('>ul>li');
var tab_face_ii = tab_face.find('>ul>li>ul>li');
tab_face.removeClass('jx');
if($(document).width()<=640){
tab_face.addClass('jx');
}
$(window).resize(function(){
if($(document).width()<=640){
tab_face.addClass('jx');
} else {
tab_face.removeClass('jx');
}
});
tab_face_i.find('>ul').hide();
tab_face_i.find('>ul>li[class=active]').parents('li').attr('class','active');
tab_face.find('>ul>li[class=active]').find('>ul').show();
function faceTabMenuToggle(event){
if (!tab_face.hasClass('jx')){
var t = $(this);
tab_face_i.find('>ul').hide();
t.next('ul').show();
tab_face_i.removeClass('active');
t.parent('li').addClass('active');
return false;
}
}
function faceTabSubMenuActive(){
tab_face_ii.removeClass('active');
$(this).parent(tab_face_ii).addClass('active');
return false;
};
tab_face_i.find('>a[href=#]').click(faceTabMenuToggle).focus(faceTabMenuToggle);
tab_face_ii.find('>a[href=#]').click(faceTabSubMenuActive).focus(faceTabSubMenuActive);
});
List Tab Navigation
XHTML
<div class="tab list jx">
<ul>
<li class="active"><a href="#"><span>공지사항</span></a>
<ul>
<li>› <a href="#">이것은 첫 번째 탭의 공지사항 목록 입니다.</a> <span class="side">2010.12.24</span></li>
<li>› <a href="#">이것은 첫 번째 탭의 공지사항 목록 입니다.</a> <span class="side">2010.12.24</span></li>
<li>› <a href="#">이것은 첫 번째 탭의 공지사항 목록 입니다.</a> <span class="side">2010.12.24</span></li>
<li class="more">› <a href="#">공지사항 더보기</a></li>
</ul>
</li>
<li><a href="#"><span>보도자료</span></a>
<ul>
<li>› <a href="#">이것은 두 번째 탭의 보도자료 목록 입니다.</a> <span class="side">2010.12.24</span></li>
<li>› <a href="#">이것은 두 번째 탭의 보도자료 목록 입니다.</a> <span class="side">2010.12.24</span></li>
<li>› <a href="#">이것은 두 번째 탭의 보도자료 목록 입니다.</a> <span class="side">2010.12.24</span></li>
<li>› <a href="#">이것은 두 번째 탭의 보도자료 목록 입니다.</a> <span class="side">2010.12.24</span></li>
<li class="more">› <a href="#">보도자료 더보기</a></li>
</ul>
</li>
<li><a href="#"><span>해명자료</span></a>
<ul>
<li>› <a href="#">이것은 세 번째 탭의 해명자료 목록 입니다.</a> <span class="side">2010.12.24</span></li>
<li>› <a href="#">이것은 세 번째 탭의 해명자료 목록 입니다.</a> <span class="side">2010.12.24</span></li>
<li>› <a href="#">이것은 세 번째 탭의 해명자료 목록 입니다.</a> <span class="side">2010.12.24</span></li>
<li>› <a href="#">이것은 세 번째 탭의 해명자료 목록 입니다.</a> <span class="side">2010.12.24</span></li>
<li>› <a href="#">이것은 세 번째 탭의 해명자료 목록 입니다.</a> <span class="side">2010.12.24</span></li>
<li class="more">› <a href="#">해명자료 더보기</a></li>
</ul>
</li>
</ul>
</div>
CSS
/* Tab + List */
.tab.list{height:160px;margin:1em 0}
.tab.list ul{position:relative;margin:0;padding:0;list-style:none;border-bottom:1px solid #ccc;zoom:1}
.tab.list ul:after{content:"";display:block;clear:both}
.tab.list li{float:left;margin-bottom:-1px}
.tab.list li a{position:relative;float:left;text-decoration:none;border:1px solid #eee;border-bottom-color:#ccc;background:#fafafa;color:#666}
.tab.list li a span{display:inline-block;padding:6px 25px 6px 25px;letter-spacing:-1px;cursor:pointer}
.tab.list li ul{width:100%;position:absolute;top:40px;left:0;list-style:none;border:0;margin:0;padding:0;zoom:1}
.tab.list li ul:after{content:"";display:block;clear:both}
.tab.list li li{float:none;position:relative;margin:0 0 8px 0;color:#999}
.tab.list li li a{float:none;padding:0;margin:0;border:0 !important;color:#666 !important;font-weight:normal;background:transparent;letter-spacing:normal}
.tab.list li li a:hover,
.tab.list li li a:active,
.tab.list li li a:focus{color:#000 !important;text-decoration:underline}
.tab.list li li .side{position:absolute;top:0;right:0;color:#767676}
.tab.list li li.more{position:absolute;top:-30px;right:0;border:0 !important;background:transparent}
.tab.list li.active a{border:1px solid #ccc;border-bottom:1px solid #fff;margin-top:-1px;background:transparent;color:#333}
.tab.list li.active a span{padding-top:7px;font-weight:bold}
.tab.list.jx{height:auto}
.tab.list.jx ul{border:0}
.tab.list.jx li{float:none;position:relative}
.tab.list.jx li a{float:none;display:block;font-weight:bold;color:#333;border:1px solid #eee !important;border-bottom-color:#ccc !important;background:#fafafa !important}
.tab.list.jx li ul{position:static;display:block !important;left:0;top:0;padding:5px 0}
.tab.list.jx li li a{display:inline;border:0 !important;background:none !important;font-weight:normal}
.tab.list.jx li li.more{top:7px;right:15px}
JS
jQuery(function($){
// List Tab Navigation
var tab_list = $('div.tab.list');
var tab_list_i = tab_list.find('>ul>li');
tab_list.removeClass('jx');
if($(document).width()<=640){
tab_list.addClass('jx');
}
$(window).resize(function(){
if($(document).width()<=640){
tab_list.addClass('jx');
tab_list.css('height','auto');
} else {
tab_list.removeClass('jx');
tab_list.css('height', tab_list.find('>ul>li.active>ul').height()+40);
}
});
tab_list_i.find('>ul').hide();
tab_list.find('>ul>li[class=active]').find('>ul').show();
if (!tab_list.hasClass('jx')){
tab_list.css('height', tab_list.find('>ul>li.active>ul').height()+40);
} else {
tab_list.css('height','auto');
}
function listTabMenuToggle(event){
if (!tab_list.hasClass('jx')){
var t = $(this);
tab_list_i.find('>ul').hide();
t.next('ul').show();
tab_list_i.removeClass('active');
t.parent('li').addClass('active');
tab_list.css('height', t.next('ul').height()+40);
return false;
}
}
tab_list_i.find('>a[href=#]').click(listTabMenuToggle).focus(listTabMenuToggle);
});
Vertical Navigation
XHTML
<div class="vNav">
<ul>
<li><a href="#"><span>동해물과</span></a>
<ul>
<li class="active"><a href="#"><span>동해물과</span></a></li>
<li><a href="#"><span>동해</span></a></li>
</ul>
</li>
<li><a href="#"><span>백두산이</span></a>
<ul>
<li><a href="#"><span>백두산이 마르고 닳도록</span></a></li>
<li><a href="#"><span>백두산</span></a></li>
</ul>
</li>
<li><a href="#"><span>마르고</span></a></li>
<li><a href="#"><span>닳도록</span></a>
<ul>
<li><a href="#"><span>닳도록</span></a></li>
<li><a href="#"><span>닳도</span></a></li>
<li><a href="#"><span>닳</span></a></li>
</ul>
</li>
</ul>
</div>
CSS
/* Vertical Navigation */
.vNav{position:relative;margin:1em 0;line-height:normal;zoom:1}
.vNav ul{margin:0;padding:0;list-style:none}
.vNav li{position:relative;margin:0 0 -1px 0;vertical-align:top;zoom:1}
.vNav li a{display:block;position:relative;padding:8px 10px;text-decoration:none;color:#666;font-weight:bold;background:#fafafa;border:1px solid #eee;zoom:1}
.vNav li a .i{position:absolute;top:50%;left:100%;margin:-4px 0 0 -16px;width:8px;height:8px;color:#ccc;background:url(img/iconSub.gif) no-repeat left top}
.vNav li ul{padding:5px 0;background:#fff}
.vNav li li{margin:0}
.vNav li li a{font-weight:normal;background:#fff;padding:5px 10px;border:0}
.vNav li li a span{color:#666}
.vNav li.active{border:1px solid #ccc;z-index:2}
.vNav li li.active{border:0}
.vNav li.active a{color:#000;border:0}
.vNav li.active .i{background-position:0 -44px}
.vNav li.active li a{border:0}
.vNav li.active ul{display:block;border-top:1px solid #eee}
.vNav li.active li.active a span{color:#13b200;font-weight:bold;letter-spacing:-1px}
JS
jQuery(function($){
// Vertical Navigation
var vNav = $('div.vNav');
var vNav_i = vNav.find('<ul<li');
var vNav_ii = vNav.find('<ul<li<ul<li');
vNav_i.find('>ul').hide();
vNav.find('<ul<li<ul<li[class=active]').parents('li').attr('class','active');
vNav.find('<ul<li[class=active]').find('>ul').show();
function vNavToggle(event){
var t = $(this);
if (t.next('ul').is(':hidden')) {
vNav_i.find('>ul').slideUp(100);
t.next('ul').slideDown(100);
} else if (t.next('ul').is(':visible')){
t.next('ul').show();
} else if (!t.next('ul').langth) {
vNav_i.find('>ul').slideUp(100);
}
vNav_i.removeClass('active');
t.parent('li').addClass('active');
return false;
}
vNav_i.find('>a[href=#]').click(vNavToggle).focus(vNavToggle);
function vNavActive(){
vNav_ii.removeClass('active');
$(this).parent(vNav_ii).addClass('active');
return false;
};
vNav_ii.find('>a[href=#]').click(vNavActive).focus(vNavActive);
vNav.find('<ul<li>ul').prev('a').append('<span class="i"></span>');
});
Tree Navigation
XHTML
<div class="tNav">
<ul>
<li><a href="#">메뉴 1</a>
<ul>
<li><a href="#">메뉴 1-2</a></li>
<li><a href="#">메뉴 1-3</a></li>
</ul>
</li>
<li><a href="#">메뉴 2</a></li>
<li><a href="#">메뉴 3</a>
<ul>
<li class="active"><a href="#">메뉴 3-1</a>
<ul>
<li><a href="#">메뉴 3-1-1</a></li>
<li><a href="#">메뉴 3-1-2</a></li>
</ul>
</li>
<li><a href="#">메뉴 3-2</a></li>
</ul>
</li>
<li><a href="#">메뉴 4</a></li>
<li><a href="#">메뉴 5</a>
<ul>
<li><a href="#">메뉴 4-1</a></li>
<li><a href="#">메뉴 4-2</a></li>
</ul>
</li>
</ul>
</div>
CSS
/* Tree Navigation */
.tNav{position:relative;margin:1em 0;zoom:1}
.tNav ul{list-style:none;margin:0;padding:0}
.tNav ul ul{margin:0 0 0 -3px}
.tNav li{position:relative;padding:0 0 0 22px;white-space:nowrap;line-height:20px;background:url(img/lineTree.gif) no-repeat 9px 0;*zoom:1}
.tNav li.last{background-position:9px -1766px}
.tNav li.active a{font-weight:bold;color:#333}
.tNav li.active li a{font-weight:normal;color:#767676}
.tNav a{text-decoration:none;color:#767676}
.tNav a:hover,
.tNav a:active,
.tNav a:focus{text-decoration:underline}
.tNav .tNavToggle{position:absolute;top:0;left:0;width:19px;height:19px;padding:0;overflow:hidden;border:0;font-size:0;color:#fff;vertical-align:middle;text-indent:19px;*text-indent:0;background:transparent url(img/btnPlusMinus.gif) no-repeat;cursor:pointer}
.tNav .tNavToggle.plus{background-position:5px -15px}
.tNav .tNavToggle.minus{background-position:5px 5px}
JS
jQuery(function($){
// Tree Navigation
var tNav = $('.tNav');
var tNavPlus = '<button type="button" class="tNavToggle plus">+</button>';
var tNavMinus = '<button type="button" class="tNavToggle minus">-</button>';
tNav.find('li>ul').css('display','none');
tNav.find('ul>li:last-child').addClass('last');
tNav.find('li>ul:hidden').parent('li').prepend(tNavPlus);
tNav.find('li>ul:visible').parent('li').prepend(tNavMinus);
tNav.find('li.active').addClass('open').parents('li').addClass('open');
tNav.find('li.open').parents('li').addClass('open');
tNav.find('li.open>.tNavToggle').text('-').removeClass('plus').addClass('minus');
tNav.find('li.open>ul').slideDown(100);
$('.tNav .tNavToggle').click(function(){
t = $(this);
t.parent('li').toggleClass('open');
if(t.parent('li').hasClass('open')){
t.text('-').removeClass('plus').addClass('minus');
t.parent('li').find('>ul').slideDown(100);
} else {
t.text('+').removeClass('minus').addClass('plus');
t.parent('li').find('>ul').slideUp(100);
}
return false;
});
$('.tNav a[href=#]').click(function(){
t = $(this);
t.parent('li').toggleClass('open');
if(t.parent('li').hasClass('open')){
t.prev('button.tNavToggle').text('-').removeClass('plus').addClass('minus');
t.parent('li').find('>ul').slideDown(100);
} else {
t.prev('button.tNavToggle').text('+').removeClass('minus').addClass('plus');
t.parent('li').find('>ul').slideUp(100);
}
return false;
});
});
Pagination
XHTML
<form action="" class="pagination">
<a href="#" class="direction">« FIRST</a>
<a href="#">9</a>
<a href="#">10</a>
<strong>11</strong>
<a href="#">12</a>
<a href="#">13</a>
<a href="#goTo" class="tgSimple" title="Go to">...</a>
<span id="goTo" class="tgContent">
<input title="Go to Page" />
<button type="submit">GO</button>
</span>
<a href="#">99</a>
<a href="#" class="direction">LAST »</a>
</form>
CSS
/* Pagination */
.pagination{margin:1em 0;text-align:center;line-height:normal}
.pagination *{vertical-align:middle}
.pagination a,
.pagination strong{position:relative;display:inline-block;padding:2px 4px;font-weight:bold;text-decoration:none;line-height:normal;color:#333 !important;vertical-align:middle}
.pagination a:hover,
.pagination a:active,
.pagination a:focus{border:1px solid #ddd;margin:0 -1px}
.pagination strong{color:#e00 !important;font-size:20px}
.pagination .direction{font-weight:normal;white-space:nowrap}
.pagination .direction:hover,
.pagination .direction:active,
.pagination .direction:focus{border:0;margin:0;text-decoration:underline}
.pagination input{width:30px;text-align:center}
.pagination button{overflow:visible}
JS
jQuery(function($){
// Toggle
var tgContent = $('.tgContent');
var tgBlurHtml = '<button type="button" class="tgBlur"></button>';
tgContent.hide().prepend(tgBlurHtml).mouseleave(function(){closeTg()});
var tgBlur = $('.tgBlur');
tgBlur.eq(0).clone().appendTo(tgContent);
$('.tgSimple').click(function(){
$($(this).attr('href')).toggle().find('a, input, select, textarea').eq(0).focus();
return false;
});
function closeTg() {
var closeId = tgContent.filter(':visible').attr('id');
if(closeId) $('.tgSimple, .tgSlide, .tgFade').filter('[href="#'+closeId+'"]').focus();
tgContent.prev('input').focus();
tgContent.fadeOut(200);
}
$(document).keydown(function(event){
if(event.keyCode != 27) return true; // ESC
return closeTg();
});
$('.tgBlur').focusin(closeTg);
});