Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>TinyAccordion JavaScript Accordion</title>
<link rel="stylesheet" href="http://www.costgallery.com/php/css/admin.css" type="text/css">
<style>
#options { width:720px; margin:5px auto; text-align:right; color:#9ac1c9; }
#options a { text-decoration:none; color:#9ac1c9; } #options a:hover { color:#033; }
#acc, #nested { list-style:none; color:#033; margin:0 auto 40px; }
#acc a { color:blue; text-decoration:underline; }
* { margin:0 auto; padding:0; }
#acc { width:720px; } #nested { width:688px; } /* 720-457= 263 425+263 = 688 */
.textcol3w h1 { color:#ce9827; } .textcol3w h2 { color:#ce9827; font-weight:bold; }
#acc h3, #nested h3 { border:1px solid #9ac1c9; padding:6px 6px 7px; font:bold 14px Arial, Helvetica, sans-serif; color:#009; margin-top:5px; cursor:pointer; background:url(/img/gr/header.gif); }
#acc h3 { width:706px; } #nested h3 { width:674px; } /* 443 411*/
#acc h3:hover, #nested h3:hover { background:url(/img/gr/header_over.gif); }
#acc .acc-section, #nested .acc-section { overflow:hidden; background:#fff; }
#acc .acc-content, #nested .acc-content { padding:15px; border:1px solid #9ac1c9; border-top:none; background:#fff; }
#acc .acc-content { width:688px; } #nested .acc-content { width:656px; }
#nested .acc-selected { background:url(/img/gr/header_over.gif); }
</style>
</head>
<body>
<div id="options"><a href="javascript:parentAccordion.pr(1)">Exand All</a> | <a href="javascript:parentAccordion.pr(-1)">Collapse All</a></div>
<ul class="acc" id="acc">
<li><h3>About</h3><div class="acc-section"><div class="acc-content">
<ul class="acc" id="nested">
<li><h3>Introduction</h3><div class="acc-section"><div class="acc-content">
</div></div></li><!--end acc-content+end acc-section-->
<li><h3>Mission Statement</h3><div class="acc-section"><div class="acc-content">
</div></div></li><!--end acc-content+end acc-section-->
<li><h3>Job Description: </h3><div class="acc-section"><div class="acc-content">
</div></div></li><!--end acc-content+end acc-section-->
</ul>
This lightweight (1.2 KB) JavaScript accordion can easily be customized to integrate with any website. For more information visit <a href="http://www.leigeber.com">leigeber.com</a>.
</div></div></li><!--end acc-content+end acc-section-->
<!--solo section-->
<li><h3>Company Background</h3><div class="acc-section"><div class="acc-content">
<h2>Structure</h2>
</div></div></li>
<!--solo section-->
<li><h3>Product Knowledge</h3><div class="acc-section"><div class="acc-content">
</div></div></li>
</ul><!--end accordion-->
<script type="text/javascript">
var TINY={};
function T$(i){return document.getElementById(i)}
function T$$(e,p){return p.getElementsByTagName(e)}
TINY.accordion=function(){
function slider(n){this.n=n; this.a=[]}
slider.prototype.init=function(t,e,m,o,k){
var a=T$(t), i=s=0, n=a.childNodes, l=n.length,h,c,v;
this.s=k||0;
this.m=m||0;
for(i;i<l;i++){
v=n[i];
if(v.nodeType==1){
this.a[s]={};
this.a[s].h=h=T$$(e,v)[0];
this.a[s].c=c=T$$('div',v)[0];
h.onclick=new Function(this.n+'.pr(0,'+s+')');
if(o==s){
h.className=this.s;
c.style.height='auto';
c.d=1;
}
else{
c.style.height=0;
c.d=-1;
}
s++;
}
}
this.l=s
};
slider.prototype.pr=function(f,d){
for(var i=0;i<this.l;i++){
var h=this.a[i].h, c=this.a[i].c, k=c.style.height; k=k=='auto'?1:parseInt(k); clearInterval(c.t);
if((k!=1&&c.d==-1)&&(f==1||i==d)){
c.style.height=''; c.m=c.offsetHeight; c.style.height=k+'px'; c.d=1; h.className=this.s; su(c,1)
}else if(k>0&&(f==-1||this.m||i==d)){
c.d=-1; h.className=''; su(c,-1)
}
}
};
function su(c){c.t=setInterval(function(){sl(c)},20)};
function sl(c){
var h=c.offsetHeight, d=c.d==1?c.m-h:h; c.style.height=h+(Math.ceil(d/5)*c.d)+'px';
c.style.opacity=h/c.m; c.style.filter='alpha(opacity='+h*100/c.m+')';
if((c.d==1&&h>=c.m)||(c.d!=1&&h==1)){if(c.d==1){c.style.height='auto'} clearInterval(c.t)}
};
return{slider:slider}
}();
</script>
<script type="text/javascript">
var parentAccordion=new TINY.accordion.slider("parentAccordion");
parentAccordion.init("acc","h3",0,0);
var nestedAccordion=new TINY.accordion.slider("nestedAccordion");
nestedAccordion.init("nested","h3",1,-1,"acc-selected");
</script>
</body>
</html>
Bookmarks