Rico JavaScript DHTML






Rico Tabbed Panel Example


Rico.loadModule('Accordion','Corner');
Rico.onLoad( function() {
  var options={panelHeight:200, hoverClass: 'panelHover', selectedClass: 'panelSelected'};
  options.corners=checkQueryString();
  new Rico.TabbedPanel( $$('div.panelheader'), $$('div.panelContent'), options);
});
function checkQueryString() {
  var inputs=document.getElementsByTagName('input');
  var s=window.location.search;
  var i=s.indexOf('corner=');
  if (i >= 0) {
    s=s.slice(i+7);
    var i=s.indexOf('&');
    if (i >= 0) s=s.substr(0,i-1);
    for (var i=0; i      if (inputs[i].value==s) inputs[i].checked=true;
  } else {
    inputs[0].checked=true;
    s='top';
  }
  for (var i=0; i    inputs[i].onclick=function() { document.forms[0].submit(); };
  return s;
}


body {font-family: Arial, Tahoma, Verdana;}
h1 {
  font-family : Trebuchet MS, Arial, Helvetica, sans-serif;
  font-size: 16pt;
}
#tabsExample {
  width: 650px;
}
.panelContentContainer {
  border : 1px solid #4f4f4f;
  clear:both;
}
.panelheader{
  height: 1.5em;
  color : #AAA;
  background: #D8E0F2;
  font-weight : bold;
  float: left;
  display: inline;
  margin-left: 2px;
  margin-right: 2px;
  text-align: center;
  white-space:nowrap;
  overflow:hidden;
  width: 20%;
  padding-top:3px;
}
.panelHover {
  color : #666;
  cursor: pointer;
}
.panelSelected {
  color : #444;
  background: #CFD4E6;
  cursor: auto;
}
.panelContent {
    background: #f8f8f8;
    overflow: auto;
}
input {
  margin-left: 2em;
}



Rico Tabbed Panels #1

Select which corners should be rounded on the tabs:


 Both
 Left
 Right
 None


   


     Overview

     HTML Code

     Rico Code

   

   
     
      
This example illustrates how to use the Rico.TabbedPanel behavior to transform a set of 
      divs into a first class tabbed panel component.


     The Rico.TabbedPanel is actually a very simple component built off of Rico behaviors and effects.
     It adds the necessary event handlers on the respective divs to handle the visual aspects of switching tabs.
     
     
     
The example HTML structure is an outer div that holds all of the panels.  Then, each panel is just a
     couple of DIVs (one for the header and one for the content) wrapped in an outer DIV.  You can actually use 
     elements other than divs.
      
 <div id="tabContainer">
         <div id="panelHeaders">
           <div id="Header1">
             Overview
            </div>
         </div>
         <div id="panelContents">
            <div id="Content1">
             ... content text ...
            </div>
         </div>
      </div>
      

          
          
          
To attach the tabbed panel behavior to the tabbed panel container div, construct a Rico.TabbedPanel
          object and pass the panel titles and contents to it.  With the Prototype Selector class it is very easy.

new Rico.TabbedPanel( $$('div.panelheader'), $$('div.panelContent') );
 -or-
new Rico.TabbedPanel( $$('div.panelheader'), $$('div.panelContent'), 
                      {panelHeight  : 200, 
                       hoverClass   : 'mdHover',
                       selectedClass: 'mdSelected'} );

    The second example specifies the height of the panels and the css classes that can be associated 
    with the tabbed panel behaviors.  
    There are many other configuration parameters that can be specified to modify various visual aspects of the
    tabbed panel. The panelHeight is the attribute that is most commonly overridden.