Spry Tabbed Panels position customization

The default position for Spry Tabbled content panels is to render below each tab when each tab is clicked. However I would like the content panels to render above the tabs, so that the tabs are positioned below the content panels. I cannot figure out how to do this. Can anyone help?
Thanks, Dave

Hopefully this helps you: http://blog.extensioneering.com/2008/07/how-to-create-spry-tabbed-panels-with.html
I was searching for help getting the content below my tabs to shove down and found this before I found your question!

Similar Messages

  • Spry Tabbed Panels: Title Tabs shift left, Content Tabs stay positioned correctly, right.

    I inserted a clean Spry Tabbed Panel into a virtually empty HTML page (no content). I have a content div (624 px , float left) and sidebar (336 px, float right). When I insert the tabbed panel widget into the sidebar, the Spry Title Tabs go or float to te left, while the content portion of the Spry Tabbed panel stays correctly positioned within the sidebar on the right. I looked at the Spry CSS notes, and mentions something of by default they float the tabs left to allow for future divs without problems?? This problem only shows in Design View (leading me to think I've done something wrong). When viewed in Live View or Browser it looks fine, perfect! I have tried several float and clear combinations, none ave helped. I also deleted the Spry Tabbed CSS as to reset to default. Any Help or Advice would be greatly appreciated. Thank you

    Design View is not an accurate representation. Don't rely on it.  Use Live View and Preview in Browsers.
    Incidentally, the Spry framework is gone from DW now.  Most people have moved away from Spry to  jQuery or commercial widgets.
    JQuery UI Tabbed Panels
    http://jqueryui.com/tabs/
    jQuery Easy Tabs
    http://os.alfajango.com/easytabs/
    Nancy O.

  • Spry Tab Panel is not working properly on remote server

    Hello All,
    I have a problem with spry tab panel, it is not displaying image in the background when it is active, it is working properly in local server but when i upload to remote it vanishes.
    Here is the link
    http://www.geftas.com/temaritestpage/about.html
    Also I am uploading Css and html code below
    Any help would be exteremely appreciated.
    Thanks
    <!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=utf8"/>
    <meta http-equiv="content-type" content="cache" />
    <meta http-equiv="robots" content="INDEX,FOLLOW"  />
    <meta http-equiv="keywords" content="Enter Keywords"/>
    <meta http-equiv="description" content="Description Here" />
    <title>TEMARI&CO. | Business Strategists</title>
    <link href="css/about.css" rel="stylesheet" type="text/css" media="screen" />
    <script src="SpryAssets/SpryMenuBar.js" type="text/javascript"></script>
    <script src="SpryAssets/SpryTabbedPanels.js" type="text/javascript"></script>
    <link href="SpryAssets/SpryMenuBarHorizontal.css" rel="stylesheet" type="text/css" />
    <link href="SpryAssets/SpryTabbedPanels.css" rel="stylesheet" type="text/css" />
    </head>
    <body>
    <div id="wrapper">
              <div id="header"></div>
      <div id="navigation">
        <ul id="MenuBar1" class="MenuBarHorizontal">
          <li><a href="index.html">HOME</a></li>
          <li><a href="about.html" class="current">ABOUT</a></li>
          <li><a href="#" class="MenuBarItemSubmenu">CONSULTING</a>
            <ul>
              <li><a href="#">Business Plan</a></li>
              <li><a href="#">Marketing Plan</a></li>
              <li><a href="#">Incorporation</a></li>
              <li><a href="#">Accounting System</a></li>
            </ul>
          </li>
          <li><a href="#" class="MenuBarItemSubmenu">INDUSTRIES</a>
            <ul>
              <li><a href="#">Untitled Item</a></li>
              <li><a href="#">Untitled Item</a></li>
              <li><a href="#">Untitled Item</a></li>
              <li><a href="#">Untitled Item</a></li>
            </ul>
          </li>
          <li><a href="#">OUR PROCESS</a></li>
          <li><a href="#">CAREERS</a>      </li>
          <li><a href="#">CONTACT</a></li>
        </ul>
      </div>
    <div class="shadow" id="content">
      <div id="TabbedPanels1" class="TabbedPanels">
        <ul class="TabbedPanelsTabGroup">
          <li class="TabbedPanelsTab" tabindex="0">values</li>
          <li class="TabbedPanelsTab" tabindex="0">people</li>
        </ul>
        <div class="TabbedPanelsContentGroup">
          <div class="TabbedPanelsContent">
                    <div id="scrolltext">
                        <h1>Heading1</h1>                 
            <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. N</p>
            </div>
          </div>
          <div class="TabbedPanelsContent">
                      <div id="scrolltext">
                        <h1>Heading1</h1>                 
            <p>Lorem n, </p>
                                <h1>Heading1</h1>                 
            <p>Lorem ipsum dolor sit amet, , </p>
                               <h1>Heading1</h1>                 
            <p>Lorem ipsum dolor sit a, </p>
                               <h1>Heading1</h1>                 
            <p>Lorem ipsum dolor sit amet,  </p>   
            </div>
          </div>
        </div>
      </div>
    </div>
      <div id="footer">
    <div id="legal">
                          <ul>
                              <li>Copyright © 2012 Temari&Co</li>
                        <li>| Privacy Policy |</li>
                        <li>Terms of Use</li>
                    </ul>
        </div>
                <div id="socialmedia">
                          <ul>
                              <li><img src="images/fbicongri.png" width="20" height="20" alt="fbicon" /></li>
                        <li><img src="images/gicongri.png" width="20"          height="20" alt="gicon"/></li>
                        <li><img src="images/linkedinicongri.png" width="20" height="20" alt="linkedin"/></li>
                        <li><img src="images/twittericongri.png" width="20" height="20" alt="twitter"/></li>
                  </ul>
          </div>   
      </div><!-- end footer-->   
    </div><!-- end wrapper-->
    <script type="text/javascript">
    var MenuBar1 = new Spry.Widget.MenuBar("MenuBar1", {imgDown:"SpryAssets/SpryMenuBarDownHover.gif", imgRight:"SpryAssets/SpryMenuBarRightHover.gif"});
    var TabbedPanels1 = new Spry.Widget.TabbedPanels("TabbedPanels1");
    </script>
    </body>
    </html>
    @charset "UTF-8";
    /* SpryTabbedPanels.css - version 0.6 - Spry Pre-Release 1.6.1 */
    /* Copyright (c) 2006. Adobe Systems Incorporated. All rights reserved. */
    /* Horizontal Tabbed Panels
    * The default style for a TabbedPanels widget places all tab buttons
    * (left aligned) above the content panel.
    .TabbedPanels {
              overflow: hidden;
              margin: 0px;
              padding: 0px;
              clear: none;
              width: 100%;
              height:100%; /* IE Hack to force proper layout when preceded by a paragraph. (hasLayout Bug)*/
    .TabbedPanelsTabGroup {
              margin: 0px;
              padding: 0px;
    .TabbedPanelsTab {
              position: relative;
              float: left;
              background-color: #FFF;
              list-style: none;
              -moz-user-select: none;
              -khtml-user-select: none;
              cursor: pointer;
              font-family: Arial, Helvetica, sans-serif;
              font-size: 9pt;
              font-weight: normal;
              color: #666;
              height: 30px;
              width: 116px;
              text-transform: uppercase;
              text-align: center;
              line-height: 30px;
              margin: 0px;
              padding: 0px;
    .TabbedPanelsTabHover {
              background-image: url(../../SUPEROLDU/images/menubaractive.png);
              background-repeat: repeat-x;
              color: #FFF;
    .TabbedPanelsTabSelected {
              background-image: url(../../SUPEROLDU/images/menubaractive.png);
              background-repeat: repeat-x;
              color: #FFF;
              height: 30px;
              width: 116px;
    .TabbedPanelsTab a {
              color: black;
              text-decoration: none;
    .TabbedPanelsContentGroup {
              clear: both;
              background-color: #FFF;
              height: 100%;
              width: 824px;
              font-family: Arial, Helvetica, sans-serif;
              font-size: 9pt;
              color: #666;
              border-top-width: 1px;
              border-right-width: 1px;
              border-bottom-width: 1px;
              border-left-width: 1px;
              border-top-style: dotted;
              border-top-color: #CCC;
              border-right-color: #CCC;
              border-bottom-color: #CCC;
              border-left-color: #CCC;
    .TabbedPanelsContent {
              height: 100%;
              width: 100%;
              overflow:hidden;
    .TabbedPanelsContentVisible {
    .VTabbedPanels {
              overflow: hidden;
              zoom: 1;
    .VTabbedPanels .TabbedPanelsTabGroup {
              float: left;
              background-color: #EEE;
              position: relative;
    .VTabbedPanels .TabbedPanelsTab {
              float: none;
              margin: 0px;
              border-top: none;
              border-left: none;
              border-right: none;
    .VTabbedPanels .TabbedPanelsTabSelected {
              background-color: #EEE;
    .VTabbedPanels .TabbedPanelsContentGroup {
              clear: none;
    /* Styles for Printing */
    @media print {
    .TabbedPanels {
              overflow: visible !important;
    .TabbedPanelsContentGroup {
              display: block !important;
              overflow: visible !important;
              height: auto !important;
              margin-top: 0px;
              margin-right: auto;
              margin-bottom: 0px;
              margin-left: auto;
    .TabbedPanelsContent {
              clear:both !important;
              margin-top: 0px;
              margin-right: auto;
              margin-bottom: 0px;
              margin-left: auto;
              width: 744px;
    .TabbedPanelsTab {
               overflow: visible !important;
               display: block !important;
               clear:both !important;

    Hi
    Please Upload SpryTabbed Panels.css and menubaractive.png to their respective remote directories/folders.
    The images have not been uploaded at all, the online CSS is the one without a link to the images
    Regards
    Adaan Pre-Media Services
    For more image editing services follow us @
    web designing services

  • Spry tabbed panels as menu system

    Hi,
    This is actually for Dreamweaver CS6.    What I'm trying to do is use spry tabbed panels as horizontal my menu system.    I want to have basically the functionality of the adobe.com menu system where the drop downs are tabbed and the content box size varies depending on the tab and the content box moves it's position relative to the tab that's selected.     I did manage to get the mouseover working so the tab's change according to which tab the mouse passes over.
    My current problems are these:
    I managed to change the content panel box size so it's not the same width as the full panel tab group however I cannot get it to move relative to which tab is selected, it just stays fixed in one location.
    The content tabs are pushing the body of my page down instead of showing up over top of it which is obvioulsy not very condusive for a menu system.
    I would like the default to show none of the panels until someone mouseover's one of the tab's and for the panels to dissapear when the mouse is not in the menu system.
    For something similar to the adobe.com menu system am i using the right feature (it looks like tabbed panels to me) or should I be using a different spry feature, I would like to have text and an image in the content box under each tab just for overall effect.
    I'm quite inexperienced with CSS and Javascripting and have basically gotten this far with trial and error modifying the CSS settings but I'm unable to modify the javascript on my own.
    Any help or suggestions would be greatly appreciated!!
    Below is my tabbed panels css:
    .TabbedPanels {
    overflow: hidden;
    margin: 0px;
    padding: 0px;
    clear: none;
    width: 1000px; /* IE Hack to force proper layout when preceded by a paragraph. (hasLayout Bug)*/
    -webkit-transition: all;
    -moz-transition: all;
    -ms-transition: all;
    -o-transition: all;
    transition: all;
    .TabbedPanelsTabGroup {
    margin: 0px;
    padding: 0px;
    color: #FFF;
    background-color: #000;
    width: 1000px;
    height: 25px;
    .TabbedPanelsTab {
    position: relative;
    top: 0px;
    float: left;
    padding: 4px 21px;
    margin: 0px 0px 0px 0px;
    background-color: #000;
    list-style: none;
    border-left: solid 0px #000;
    border-bottom: solid 0px #000;
    border-top: solid 2px #000;
    border-right: solid 0px #000;
    -moz-user-select: none;
    -khtml-user-select: none;
    cursor: pointer;
    width: 1000;
    height: 15px;
    font-family: "Myriad Pro";
    font-size: 1em;
    font-weight: normal;
    .TabbedPanelsTabHover {
    background-color: #D31145;
    -webkit-transition: all;
    -moz-transition: all;
    -ms-transition: all;
    -o-transition: all;
    transition: all;
    .TabbedPanelsTabSelected {
    background-color: #D31145;
    border-bottom: 0px solid #D31145;
    color: #FFFFFF;
    .TabbedPanelsTab a {
    color: black;
    text-decoration: none;
    .TabbedPanelsContentGroup {
    clear: both;
    border-left: solid 2px #D31145;
    border-bottom: solid 2px #D31145;
    border-top: solid 2px #D31145;
    border-right: solid 2px #D31145;
    background-color: #FFFFFF;
    visibility: visible;
    width: 50%;
    position: inherit;
    height: auto;
    /* This is the selector for the Content panel. The Content panel holds the
    * content for a single tabbed panel. For our default style, this container
    * provides some padding, so that the content is not pushed up against the
    * widget borders.
    * The name of the class ("TabbedPanelsContent") used in this selector is
    * not necessary to make the widget function. You can use any class name you
    * want to style the Content container.
    .TabbedPanelsContent {
    overflow: hidden;
    padding: 4px;
    .TabbedPanelsContentVisible {
    .VTabbedPanels {
    overflow: hidden;
    zoom: 1;
    .VTabbedPanels .TabbedPanelsTabGroup {
    float: left;
    width: 10em;
    height: 20em;
    background-color: #EEE;
    position: relative;
    border-top: solid 1px #999;
    border-right: solid 1px #999;
    border-left: solid 1px #CCC;
    border-bottom: solid 1px #CCC;
    .VTabbedPanels .TabbedPanelsTab {
    float: none;
    margin: 0px;
    border-top: none;
    border-left: none;
    border-right: none;
    .VTabbedPanels .TabbedPanelsTabSelected {
    background-color: #EEE;
    border-bottom: solid 1px #999;
    .VTabbedPanels .TabbedPanelsContentGroup {
    clear: none;
    float: left;
    padding: 0px;
    width: 30em;
    height: 20em;
    /* Styles for Printing */
    @media print {
    .TabbedPanels {
    overflow: visible !important;
    .TabbedPanelsContentGroup {
    display: block !important;
    overflow: visible !important;
    height: auto !important;
    .TabbedPanelsContent {
    overflow: visible !important;
    display: block !important;
    clear:both !important;
    .TabbedPanelsTab {
      overflow: visible !important;
      display: block !important;
      clear:both !important;
    THe Javascript for my tabbed panels are below:
    // SpryTabbedPanels.js - version 0.7 - Spry Pre-Release 1.6.1
    // Copyright (c) 2006. Adobe Systems Incorporated.
    // All rights reserved.
    // Redistribution and use in source and binary forms, with or without
    // modification, are permitted provided that the following conditions are met:
    //   * Redistributions of source code must retain the above copyright notice,
    //     this list of conditions and the following disclaimer.
    //   * Redistributions in binary form must reproduce the above copyright notice,
    //     this list of conditions and the following disclaimer in the documentation
    //     and/or other materials provided with the distribution.
    //   * Neither the name of Adobe Systems Incorporated nor the names of its
    //     contributors may be used to endorse or promote products derived from this
    //     software without specific prior written permission.
    // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
    // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    // ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
    // LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
    // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
    // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
    // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
    // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
    // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
    // POSSIBILITY OF SUCH DAMAGE.
    (function() { // BeginSpryComponent
    if (typeof Spry == "undefined") window.Spry = {}; if (!Spry.Widget) Spry.Widget = {};
    Spry.Widget.TabbedPanels = function(element, opts)
    this.element = this.getElement(element);
    this.defaultTab = 0; // Show the first panel by default.
    this.tabSelectedClass = "TabbedPanelsTabSelected";
    this.tabHoverClass = "TabbedPanelsTabHover";
    this.tabFocusedClass = "TabbedPanelsTabFocused";
    this.panelVisibleClass = "TabbedPanelsContentVisible";
    this.focusElement = null;
    this.hasFocus = false;
    this.currentTabIndex = 0;
    this.enableKeyboardNavigation = true;
    this.nextPanelKeyCode = Spry.Widget.TabbedPanels.KEY_RIGHT;
    this.previousPanelKeyCode = Spry.Widget.TabbedPanels.KEY_LEFT;
    Spry.Widget.TabbedPanels.setOptions(this, opts);
    // If the defaultTab is expressed as a number/index, convert
    // it to an element.
    if (typeof (this.defaultTab) == "number")
      if (this.defaultTab < 0)
       this.defaultTab = 0;
      else
       var count = this.getTabbedPanelCount();
       if (this.defaultTab >= count)
        this.defaultTab = (count > 1) ? (count - 1) : 0;
      this.defaultTab = this.getTabs()[this.defaultTab];
    // The defaultTab property is supposed to be the tab element for the tab content
    // to show by default. The caller is allowed to pass in the element itself or the
    // element's id, so we need to convert the current value to an element if necessary.
    if (this.defaultTab)
      this.defaultTab = this.getElement(this.defaultTab);
    this.attachBehaviors();
    Spry.Widget.TabbedPanels.prototype.getElement = function(ele)
    if (ele && typeof ele == "string")
      return document.getElementById(ele);
    return ele;
    Spry.Widget.TabbedPanels.prototype.getElementChildren = function(element)
    var children = [];
    var child = element.firstChild;
    while (child)
      if (child.nodeType == 1 /* Node.ELEMENT_NODE */)
       children.push(child);
      child = child.nextSibling;
    return children;
    Spry.Widget.TabbedPanels.prototype.addClassName = function(ele, className)
    if (!ele || !className || (ele.className && ele.className.search(new RegExp("\\b" + className + "\\b")) != -1))
      return;
    ele.className += (ele.className ? " " : "") + className;
    Spry.Widget.TabbedPanels.prototype.removeClassName = function(ele, className)
    if (!ele || !className || (ele.className && ele.className.search(new RegExp("\\b" + className + "\\b")) == -1))
      return;
    ele.className = ele.className.replace(new RegExp("\\s*\\b" + className + "\\b", "g"), "");
    Spry.Widget.TabbedPanels.setOptions = function(obj, optionsObj, ignoreUndefinedProps)
    if (!optionsObj)
      return;
    for (var optionName in optionsObj)
      if (ignoreUndefinedProps && optionsObj[optionName] == undefined)
       continue;
      obj[optionName] = optionsObj[optionName];
    Spry.Widget.TabbedPanels.prototype.getTabGroup = function()
    if (this.element)
      var children = this.getElementChildren(this.element);
      if (children.length)
       return children[0];
    return null;
    Spry.Widget.TabbedPanels.prototype.getTabs = function()
    var tabs = [];
    var tg = this.getTabGroup();
    if (tg)
      tabs = this.getElementChildren(tg);
    return tabs;
    Spry.Widget.TabbedPanels.prototype.getContentPanelGroup = function()
    if (this.element)
      var children = this.getElementChildren(this.element);
      if (children.length > 1)
       return children[1];
    return null;
    Spry.Widget.TabbedPanels.prototype.getContentPanels = function()
    var panels = [];
    var pg = this.getContentPanelGroup();
    if (pg)
      panels = this.getElementChildren(pg);
    return panels;
    Spry.Widget.TabbedPanels.prototype.getIndex = function(ele, arr)
    ele = this.getElement(ele);
    if (ele && arr && arr.length)
      for (var i = 0; i < arr.length; i++)
       if (ele == arr[i])
        return i;
    return -1;
    Spry.Widget.TabbedPanels.prototype.getTabIndex = function(ele)
    var i = this.getIndex(ele, this.getTabs());
    if (i < 0)
      i = this.getIndex(ele, this.getContentPanels());
    return i;
    Spry.Widget.TabbedPanels.prototype.getCurrentTabIndex = function()
    return this.currentTabIndex;
    Spry.Widget.TabbedPanels.prototype.getTabbedPanelCount = function(ele)
    return Math.min(this.getTabs().length, this.getContentPanels().length);
    Spry.Widget.TabbedPanels.addEventListener = function(element, eventType, handler, capture)
    try
      if (element.addEventListener)
       element.addEventListener(eventType, handler, capture);
      else if (element.attachEvent)
       element.attachEvent("on" + eventType, handler);
    catch (e) {}
    Spry.Widget.TabbedPanels.prototype.cancelEvent = function(e)
    if (e.preventDefault) e.preventDefault();
    else e.returnValue = false;
    if (e.stopPropagation) e.stopPropagation();
    else e.cancelBubble = true;
    return false;
    Spry.Widget.TabbedPanels.prototype.onTabClick = function(e, tab)
    this.showPanel(tab);
    return this.cancelEvent(e);
    Spry.Widget.TabbedPanels.prototype.onTabMouseOver = function(e, tab)
    this.addClassName(tab, this.tabHoverClass);
    return false;
    Spry.Widget.TabbedPanels.prototype.onTabMouseOut = function(e, tab)
    this.removeClassName(tab, this.tabHoverClass);
    return false;
    Spry.Widget.TabbedPanels.prototype.onTabFocus = function(e, tab)
    this.hasFocus = true;
    this.addClassName(tab, this.tabFocusedClass);
    return false;
    Spry.Widget.TabbedPanels.prototype.onTabBlur = function(e, tab)
    this.hasFocus = false;
    this.removeClassName(tab, this.tabFocusedClass);
    return false;
    Spry.Widget.TabbedPanels.KEY_UP = 38;
    Spry.Widget.TabbedPanels.KEY_DOWN = 40;
    Spry.Widget.TabbedPanels.KEY_LEFT = 37;
    Spry.Widget.TabbedPanels.KEY_RIGHT = 39;
    Spry.Widget.TabbedPanels.prototype.onTabKeyDown = function(e, tab)
    var key = e.keyCode;
    if (!this.hasFocus || (key != this.previousPanelKeyCode && key != this.nextPanelKeyCode))
      return true;
    var tabs = this.getTabs();
    for (var i =0; i < tabs.length; i++)
      if (tabs[i] == tab)
       var el = false;
       if (key == this.previousPanelKeyCode && i > 0)
        el = tabs[i-1];
       else if (key == this.nextPanelKeyCode && i < tabs.length-1)
        el = tabs[i+1];
       if (el)
        this.showPanel(el);
        el.focus();
        break;
    return this.cancelEvent(e);
    Spry.Widget.TabbedPanels.prototype.preorderTraversal = function(root, func)
    var stopTraversal = false;
    if (root)
      stopTraversal = func(root);
      if (root.hasChildNodes())
       var child = root.firstChild;
       while (!stopTraversal && child)
        stopTraversal = this.preorderTraversal(child, func);
        try { child = child.nextSibling; } catch (e) { child = null; }
    return stopTraversal;
    Spry.Widget.TabbedPanels.prototype.addPanelEventListeners = function(tab, panel)
    var self = this;
    Spry.Widget.TabbedPanels.addEventListener(tab, "mouseover", function(e) { self.onTabClick(e, tab);return self.onTabMouseOver(e, tab); }, false);
    Spry.Widget.TabbedPanels.addEventListener(tab, "mouseout", function(e) { return self.onTabMouseOut(e, tab); }, false);
    if (this.enableKeyboardNavigation)
      // XXX: IE doesn't allow the setting of tabindex dynamically. This means we can't
      // rely on adding the tabindex attribute if it is missing to enable keyboard navigation
      // by default.
      // Find the first element within the tab container that has a tabindex or the first
      // anchor tag.
      var tabIndexEle = null;
      var tabAnchorEle = null;
      this.preorderTraversal(tab, function(node) {
       if (node.nodeType == 1 /* NODE.ELEMENT_NODE */)
        var tabIndexAttr = tab.attributes.getNamedItem("tabindex");
        if (tabIndexAttr)
         tabIndexEle = node;
         return true;
        if (!tabAnchorEle && node.nodeName.toLowerCase() == "a")
         tabAnchorEle = node;
       return false;
      if (tabIndexEle)
       this.focusElement = tabIndexEle;
      else if (tabAnchorEle)
       this.focusElement = tabAnchorEle;
      if (this.focusElement)
       Spry.Widget.TabbedPanels.addEventListener(this.focusElement, "focus", function(e) { return self.onTabFocus(e, tab); }, false);
       Spry.Widget.TabbedPanels.addEventListener(this.focusElement, "blur", function(e) { return self.onTabBlur(e, tab); }, false);
       Spry.Widget.TabbedPanels.addEventListener(this.focusElement, "keydown", function(e) { return self.onTabKeyDown(e, tab); }, false);
    Spry.Widget.TabbedPanels.prototype.showPanel = function(elementOrIndex)
    var tpIndex = -1;
    if (typeof elementOrIndex == "number")
      tpIndex = elementOrIndex;
    else // Must be the element for the tab or content panel.
      tpIndex = this.getTabIndex(elementOrIndex);
    if (!tpIndex < 0 || tpIndex >= this.getTabbedPanelCount())
      return;
    var tabs = this.getTabs();
    var panels = this.getContentPanels();
    var numTabbedPanels = Math.max(tabs.length, panels.length);
    for (var i = 0; i < numTabbedPanels; i++)
      if (i != tpIndex)
       if (tabs[i])
        this.removeClassName(tabs[i], this.tabSelectedClass);
       if (panels[i])
        this.removeClassName(panels[i], this.panelVisibleClass);
        panels[i].style.display = "none";
    this.addClassName(tabs[tpIndex], this.tabSelectedClass);
    this.addClassName(panels[tpIndex], this.panelVisibleClass);
    panels[tpIndex].style.display = "block";
    this.currentTabIndex = tpIndex;
    Spry.Widget.TabbedPanels.prototype.attachBehaviors = function(element)
    var tabs = this.getTabs();
    var panels = this.getContentPanels();
    var panelCount = this.getTabbedPanelCount();
    for (var i = 0; i < panelCount; i++)
      this.addPanelEventListeners(tabs[i], panels[i]);
    this.showPanel(this.defaultTab);
    })(); // EndSpryComponent

    Note - I agree with Nancy
    As for your experiment, to prevent the "drop" reduce the spry CSS padding in line 76 selector from  21px to 18px.
    .TabbedPanelsTab {
        -moz-user-select: none;
        background-color: #000000;
        border-color: #000000;
        border-left: 0 solid #000000;
        border-style: solid;
        border-width: 2px 0 0;
        cursor: pointer;
        float: left;
        font-family: "Myriad Pro";
        font-size: 1em;
        font-weight: normal;
        height: 15px;
        list-style: none outside none;
        margin: 0;
        padding: 4px 18px;
        position: relative;
        top: 0;
    Don't use dummy text without normal length text with breaks

  • Spry tabbed panels java script error screwing up whole page when I reopen document in dreamweaver

    I need help!
    I am creating a site in dreamweaver and I am using spry tabbed panels for my content on every page.  I've created 4 pages.  When I go to reopen the pages after quitting dreamweaver 2 open and work just fine.  However, for the other two I receive a window that says,
    this document contains javascript code for a widget that no longer exists.  If you don't remove the code, the browser may display javascript errors when loading the page.  Would you like dreamweaver to find all instances of this code for you. 
    I've selected both yes and no options and either way my entire page becomes all jumbled.  I've tried deleting the script in code view and it doesn't help? 

    <!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=utf-8" />
    <title>LEAP 2 GROW</title>
    <style type="text/css">
    <!--
    body  {
    margin: 0; /* it's good practice to zero the margin and padding of the body element to account for differing browser defaults */
    padding: 0;
    text-align: center; /* this centers the container in IE 5* browsers. The text is then set to the left aligned default in the #container selector */
    color: #000000;
    background-color: #090909;
    background-image: url(k2-mountain-1280x800-1.jpg);
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 100%;
    background-attachment: fixed;
    background-repeat: no-repeat;
    background-position: center top;
    .twoColFixLtHdr #container {
    width: 1200px;
    margin: 0 auto;
    text-align: left; /* this overrides the text-align: center on the body element. */
    .twoColFixLtHdr #header {
    padding: 0;
    margin-top: 10px;
    border-bottom-width: medium;
    border-bottom-style: solid;
    border-bottom-color: #8CC543;
    .twoColFixLtHdr #header h1 {
    margin: 0; /* zeroing the margin of the last element in the #header div will avoid margin collapse - an unexplainable space between divs. If the div has a border around it, this is not necessary as that also avoids the margin collapse */
    padding: 0; /* using padding instead of margin will allow you to keep the element away from the edges of the div */
    .twoColFixLtHdr #sidebar1 {
    float: left; /* since this element is floated, a width must be given */
    width: 230px; /* the actual width of this div, in standards-compliant browsers, or standards mode in Internet Explorer will include the padding and border in addition to the width */
    background: #EBEBEB; /* the background color will be displayed for the length of the content in the column, but no further */
    padding: 0;
    background-color: #25A8E0;
    margin-top: 40px;
    height: 400px;
    .twoColFixLtHdr #mainContent {
    margin-right: 0;
    margin-bottom: 0px;
    margin-left: 248px;
    border: 1px solid #8CC543;
    margin-top: 40px;
    text-align: center;
    background-position: center center;
    color: #8CC543;
    font-family: "Century Gothic";
    font-size: medium;
    text-transform: none;
    height: 400px;
    background-image: url(k2-faded.jpg);
    .twoColFixLtHdr #footer {
    padding: 0;
    text-align: left;
    font-family: "Century Gothic";
    text-transform: uppercase;
    color: #25A8E0;
    letter-spacing: 5px;
    font-size: small;
    word-spacing: normal;
    display: block;
    margin-left: 0px;
    margin-top: 10px;
    .twoColFixLtHdr #footer p {
    margin: 0; /* zeroing the margins of the first element in the footer will avoid the possibility of margin collapse - a space between divs */
    padding: 10px 0; /* padding on this element will create space, just as the the margin would have, without the margin collapse issue */
    .fltrt { /* this class can be used to float an element right in your page. The floated element must precede the element it should be next to on the page. */
    float: right;
    margin-left: 8px;
    .fltlft { /* this class can be used to float an element left in your page */
    float: left;
    margin-right: 8px;
    .clearfloat { /* this class should be placed on a div or break element and should be the final element before the close of a container that should fully contain a float */
    clear:both;
        height:0;
        font-size: 1px;
        line-height: 0px;
    -->
    </style>
    <!--[if IE 5]>
    <style type="text/css">
    /* place css box model fixes for IE 5* in this conditional comment */
    .twoColFixLtHdr #sidebar1 { width: 230px; }
    </style>
    <![endif]--><!--[if IE]>
    <style type="text/css">
    /* place css fixes for all versions of IE in this conditional comment */
    .twoColFixLtHdr #sidebar1 { padding-top: 30px; }
    .twoColFixLtHdr #mainContent { zoom: 1; }
    /* the above proprietary zoom property gives IE the hasLayout it needs to avoid several bugs */
    </style>
    <![endif]-->
    <script src="SpryAssets/SpryMenuBar.js" type="text/javascript"></script>
    <link href="SpryAssets/SpryMenuBarVertical.css" rel="stylesheet" type="text/css" />
    <style type="text/css">
    <!--
    a:link {
    color: #25A8E0;
    text-decoration: none;
    a:hover {
    color: #8CC543;
    text-decoration: none;
    -->
    </style>
    <script src="Scripts/AC_RunActiveContent.js" type="text/javascript"></script>
    <script src="SpryAssets/SpryEffects.js" type="text/javascript"></script>
    <script src="SpryAssets/SpryTabbedPanels.js" type="text/javascript"></script>
    <script type="text/javascript">
    <!--
    function MM_effectAppearFade(targetElement, duration, from, to, toggle)
    Spry.Effect.DoFade(targetElement, {duration: duration, from: from, to: to, toggle: toggle});
    function MM_preloadImages() { //v3.0
      var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
        var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
        if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
    //-->
    </script>
    <link href="SpryAssets/SpryMenuBarHorizontal.css" rel="stylesheet" type="text/css" />
    <style type="text/css">
    <!--
    .style2 {font-size: xx-small; color: #EEEEEE; }
    a:visited {
    text-decoration: none;
    color: #25A8E0;
    a:active {
    text-decoration: none;
    .style3 {
    color: #FFFFFF;
    font-weight: bold;
    .style4 {color: #FFFFFF}
    -->
    </style>
    <style type="text/css">
    <!--
    .style5 {font-size: x-large}
    h1 {
    font-size: medium;
    color: #25A8E0;
    .style6 {color: #444444}
    .style8 {color: #444444; font-weight: bold; }
    -->
    </style>
    <link href="SpryAssets/SpryTabbedPanels.css" rel="stylesheet" type="text/css" />
    </head>
    <body class="twoColFixLtHdr" onload="MM_preloadImages('HS-MENTOR-OVER.png')">
    <div id="container">
      <div id="header">
        <h1><a href="index.html"><img src="web-banner.png" width="514" height="127" /></a>
        <!-- end #header --></h1>
        <ul id="MenuBar2" class="MenuBarHorizontal">
          <li><a href="volunteer.html">VOLUNTEER</a> </li>
          <li><a href="parentcollege.enroll.html">PARENT COLLEGE: ENROLL</a></li>
          <li><a href="https://leapfrog-usa.com/AOE/Parent-Resources/Enrollment-Form.aspx">AFTER SCHOOL: ENROLL</a> </li>
        </ul>
      </div>
      <div id="sidebar1">
        <ul id="MenuBar1" class="MenuBarVertical">
          <li><a href="#" class="MenuBarItemSubmenu">ABOUT US</a>
            <ul>
              <li><a href="mission.html">mission/overview</a></li>
              <li><a href="ourteam.html">OUR team</a></li>
            </ul>
          </li>
          <li><a href="problem.html">THE PROBLEM</a></li>
          <li><a href="#" class="MenuBarItemSubmenu">THE SOLUTION</a>
            <ul>
              <li><a href="solution.overview.html">overview</a></li>
              <li><a href="solution.structure.html">structure</a></li>
            </ul>
          </li>
          <li><a href="#" class="MenuBarItemSubmenu">PROGRAMS</a>
            <ul>
              <li><a href="parentcollege.html">parent college</a></li>
              <li><a href="mentor.html">MENTOR program</a></li>
              <li><a href="farming.html">urban farming</a></li>
              <li><a href="afterschool.html">CHARTER AFTER SCHOOL</a></li>
            </ul>
          </li>
          <li><a href="#" class="MenuBarItemSubmenu">LOCATIONS</a>
            <ul>
              <li><a href="location.fulton.html">fulton county ga</a></li>
              <li><a href="location.haiti.html">haiti</a></li>
              <li><a href="location.tribe.html">native american tribe</a></li>
            </ul>
          </li>
          <li><a href="news.html">NEWS|RESOURCES</a></li>
          <li><a href="contact.html">CONTACT US</a></li>
          <li><a href="#">DONATE</a></li>
        </ul>
      </div>
      <div class="style3" id="mainContent">
        <div align="left" class="style4">
          <p class="style5">MENTOR PROGRAM</p>
          <div id="TabbedPanels2" class="TabbedPanels">
            <ul class="TabbedPanelsTabGroup">
              <li class="TabbedPanelsTab" tabindex="0">ABOUT</li>
              <li class="TabbedPanelsTab" tabindex="0">PROGRAM DIRECTOR</li>
              <li class="TabbedPanelsTab" tabindex="0">L2G CERTIFICATION</li>
              <li class="TabbedPanelsTab" tabindex="0">PHOTO GALLERY</li>
              <li class="TabbedPanelsTab" tabindex="0">HIGH SCHOOL ACADEMIC MENTOR</li>
              <li class="TabbedPanelsTab" tabindex="0">COMMUNITY-LEADER MENTOR</li>
            </ul>
            <div class="TabbedPanelsContentGroup">
              <div class="TabbedPanelsContent">
                <blockquote>
                  <p><em>“Those who have the ability, have the responsibility”</em></p>
                  <p><u>Avenue of attention:</u> <strong>                        MENTOR PROGRAM</strong> <br />
                    Unites local society, by focusing the <u>attention</u> of the community’s talent, on children (ages 7 – 12) who are in need of positive role models.  </p>
                  <p>Two levels of involvement: </p>
                  <ol>
                    <li>High School Academic Mentors</li>
                    <li>Community-Leader Mentors</li>
                  </ol>
                  <p><u>Program title:</u>                          <strong>Talent 2 Kids</strong> </p>
                  <p><u>Why Program Important</u><strong>:</strong>  </p>
                  <ol>
                  <ul>
                    <li><strong>Motivates</strong> children by providing successful, caring role models into their lives, and in accordance, exposing them to realistic paths towards financial success. </li>
                    <li>High school juniors and seniors on the honor roll are eligible to tutor elementary school children, utilizing their skills in helping with homework and comprehension.</li>
                    <li>Community business leaders will act as “big brother/big sisters,” mentoring and monitoring a child’s well being and academic progress.  Also, sharing career information and the associated path to success, along with teaching real-life problem solving skills.</li>
                  </ul>
                </blockquote>
              </div>
              <div class="TabbedPanelsContent">Content 2</div>
              <div class="TabbedPanelsContent">Content 3</div>
              <div class="TabbedPanelsContent">Content 4</div>
              <div class="TabbedPanelsContent">Content 5</div>
              <div class="TabbedPanelsContent">Content 6</div>
            </div>
          </div>
          <p> </p>
        </div>
        <p> </p>
        <p> </p>
      </div>
    <div id="footer">
      <table width="1200" border="0">
          <tr>
            <td><div align="left"><a href="parentcollege.html">parent college</a></div></td>
            <td><div align="center"><a href="mentor.html">MENTOR program</a></div></td>
            <td><div align="center"><a href="farming.html">urban farming</a></div></td>
            <td><div align="right"><a href="afterschool.html">charter after school</a></div></td>
          </tr>
        </table>
        <p align="center" class="style2">A NON-PROFIT ORGANIZATION, EMPOWERING COMMUNITIES TO MOTIVATE THEIR CHILDREN, CREATING LASTING CHANGE</p>
        <!-- end #footer --></div>
    <!-- end #container --></div>
    <script type="text/javascript">
    <!--
    var MenuBar1 = new Spry.Widget.MenuBar("MenuBar1", {imgRight:"SpryAssets/SpryMenuBarRightHover.gif"});
    var MenuBar2 = new Spry.Widget.MenuBar("MenuBar2", {imgDown:"SpryAssets/SpryMenuBarDownHover.gif", imgRight:"SpryAssets/SpryMenuBarRightHover.gif"});
    var TabbedPanels1 = new Spry.Widget.TabbedPanels("TabbedPanels2");
    //-->
    </script>
    </body>
    </html>

  • Spry Tabbed Panels mangled by IE

    I have struggled -- and failed -- to figure out why IE mangles my Spry Tabbed Panel code even though the same code is rendered perfectly by Firefox, Safari, and Dreamweaver's Live View. If you think you can help me out, please take a look at the affected web page:
    www.mulinosultevere.com/panoramic_tab.htm
    using Firefox and/or Safari and then look at it using IE. The source code, of course, is available for you to view. I would appreciate any suggestions as to how I can get IE to render the code as the other browsers do. I assume that the problem on IE has something to do with my effort to use the very long photo.since the web page snaps back into the proper position when the second tab panel is activated.
    Only the web page provided currently uses Spry Tabbed Panels. The rest of the website is live using only rollover menus. I want to upgrade the website with tabbed panels, but they have to work properly in IE, of course.
    Thanks for any help you can provide.
    -- Bill

    Thanks, Helpvid, but I don't think that is the problem. I already know that IE has to be "kicked" to start Javascript. However, if you look at my web page -- www.mulinosultevere.com/panorama_tab.htm -- you will see that IE is, in fact, recognizing the Javascript because the second tab panel is rendered correctly. My problem is with the first panel that has the very long photo. Apparently there is a problem with the Javascript/html code itself. I am still looking for a solution :-( .
    Ciao!
    -- Bill

  • Spry Tabbed Panels - Start with no default tab??

    Hi all,
    Is there any way that I can have a spry tabbed panels widget
    and NOT have any tabs open when the page loads? I want to put
    multiple tabbed panel widgets on one page for an artist's
    discography
    example:
    Singles
    - tab 1 - tab 2 - tab 3 - etc. etc.
    Albums
    - tab 1 - tab 2 - tab 3 - etc. etc.
    Misc
    - tab 1 - tab 2 - tab 3 - etc. etc.
    I just want the page to look clean and compact - I don't want
    any default tab to display. Is this possible? I looked on the Adobe
    customization help for the widget but I can't seem to find an
    answer. I managed to achieve this by deleting the
    (this.defaultTab); part of this line in the .js file:
    if (this.defaultTab)
    this.defaultTab = this.getElement(this.defaultTab);
    But when I did this, if I created multiple widgets, the
    second widget and so on's tabs would not work properly, for some
    odd reason. I'm kind of a newbie so I apologize for not making much
    sense.
    Thanks in advance.

    Hi all,
    Is there any way that I can have a spry tabbed panels widget
    and NOT have any tabs open when the page loads? I want to put
    multiple tabbed panel widgets on one page for an artist's
    discography
    example:
    Singles
    - tab 1 - tab 2 - tab 3 - etc. etc.
    Albums
    - tab 1 - tab 2 - tab 3 - etc. etc.
    Misc
    - tab 1 - tab 2 - tab 3 - etc. etc.
    I just want the page to look clean and compact - I don't want
    any default tab to display. Is this possible? I looked on the Adobe
    customization help for the widget but I can't seem to find an
    answer. I managed to achieve this by deleting the
    (this.defaultTab); part of this line in the .js file:
    if (this.defaultTab)
    this.defaultTab = this.getElement(this.defaultTab);
    But when I did this, if I created multiple widgets, the
    second widget and so on's tabs would not work properly, for some
    odd reason. I'm kind of a newbie so I apologize for not making much
    sense.
    Thanks in advance.

  • Spry tabbed panels not opening in IE on Vista

    Link:
    About
    page
    Link:
    Story
    page
    Spry tabbed panels on these pages display fine in Firefox and
    Safari.
    But in IE on two separate Vista-running PCs, everything
    except the tabs themselves loads, until you click refresh one or
    more times. Both PCs were on broadband connections and I checked
    each PC several times just to make sure it wasn't just an
    intermittent connection.
    Way to fix this for IE? As far as my client is concerned,
    it's a bug.

    Dear all, thanks for your replies.
    I have tried Barascu Diana's fix to both pages linked at the
    top, but am presently unable to test it on IE6. Anyone able to see
    if those tabs are now appearing?
    <DIV class="TabbedPanel" id="TabbedPanels1" style
    ="position:relative">
    (Hope I did this right?)
    I also temporarily tried kinblas' fix, but removing relative
    positioning there caused the tabs to hover over to the left of the
    page.

  • 2 spry tabbed panels

    I have 2 different spry tabbed panels on 1 site.  How can I customize each tabbed panel?

    Do you have Widget Browser yet?  See link  for details.
    http://labs.adobe.com/technologies/widgetbrowser/
    See Screenshots:
    Sign In to Adobe Exchange
    Grab Spry Tabbed Panels 2.0 Widget from Exchange
    Edit Your Widget
    Configure Styles
    When you're done styling both sets of Tabbed Panels, save Widget Files to your DW Local Site folder.  That's all there is to it.
    Nancy O.

  • Spry Tabbed Panel Problem

    Thanks in advance to anyone who can help. I'm having a problem with my spry tabbed panel. It works but the actual CSS isn't working on the spry. The panel goes down onto the content.
    Here is a screen cap: http://img32.imageshack.us/img32/2598/53451133.jpg
    Coding:
    @charset "UTF-8";
    /* SpryTabbedPanels.css - version 0.4 - Spry Pre-Release 1.6.1 */
    /* Copyright (c) 2006. Adobe Systems Incorporated. All rights reserved. */
    /* Horizontal Tabbed Panels
    * The default style for a TabbedPanels widget places all tab buttons
    * (left aligned) above the content panel.
    /* This is the selector for the main TabbedPanels container. For our
    * default style, this container does not contribute anything visually,
    * but it is floated left to make sure that any floating or clearing done
    * with any of its child elements are contained completely within the
    * TabbedPanels container, to minimize any impact or undesireable
    * interaction with other floated elements on the page that may be used
    * for layout.
    * If you want to constrain the width of the TabbedPanels widget, set a
    * width on the TabbedPanels container. By default, the TabbedPanels widget
    * expands horizontally to fill up available space.
    * The name of the class ("TabbedPanels") used in this selector is not
    * necessary to make the widget function. You can use any class name you
    * want to style the TabbedPanels container.
    .TabbedPanels {
        margin: 0px;
        padding: 0px;
        float: left;
        clear: none;
        width: 100%; /* IE Hack to force proper layout when preceded by a paragraph. (hasLayout Bug)*/
    /* This is the selector for the TabGroup. The TabGroup container houses
    * all of the tab buttons for each tabbed panel in the widget. This container
    * does not contribute anything visually to the look of the widget for our
    * default style.
    * The name of the class ("TabbedPanelsTabGroup") used in this selector is not
    * necessary to make the widget function. You can use any class name you
    * want to style the TabGroup container.
    .TabbedPanelsTabGroup {
        margin: 0px;
        padding: 0px;
    /* This is the selector for the TabbedPanelsTab. This container houses
    * the title for the panel. This is also the tab "button" that the user clicks
    * on to activate the corresponding content panel so that it appears on top
    * of the other tabbed panels contained in the widget.
    * For our default style, each tab is positioned relatively 1 pixel down from
    * where it wold normally render. This allows each tab to overlap the content
    * panel that renders below it. Each tab is rendered with a 1 pixel bottom
    * border that has a color that matches the top border of the current content
    * panel. This gives the appearance that the tab is being drawn behind the
    * content panel.
    * The name of the class ("TabbedPanelsTab") used in this selector is not
    * necessary to make the widget function. You can use any class name you want
    * to style this tab container.
    .TabbedPanelsTab {
        position: relative;
        top: 1px;
        float: left;
        padding: 4px 10px;
        margin: 0px 1px 0px 0px;
        font: bold 0.7em sans-serif;
        background-color: #DDD;
        list-style: none;
        border-left: solid 1px #CCC;
        border-bottom: solid 1px #999;
        border-top: solid 1px #999;
        border-right: solid 1px #999;
        -moz-user-select: none;
        -khtml-user-select: none;
        cursor: pointer;
    /* This selector is an example of how to change the appearnce of a tab button
    * container as the mouse enters it. The class "TabbedPanelsTabHover" is
    * programatically added and removed from the tab element as the mouse enters
    * and exits the container.
    .TabbedPanelsTabHover {
        background-color: #CCC;
    /* This selector is an example of how to change the appearance of a tab button
    * container after the user has clicked on it to activate a content panel.
    * The class "TabbedPanelsTabSelected" is programatically added and removed
    * from the tab element as the user clicks on the tab button containers in
    * the widget.
    * As mentioned above, for our default style, tab buttons are positioned
    * 1 pixel down from where it would normally render. When the tab button is
    * selected, we change its bottom border to match the background color of the
    * content panel so that it looks like the tab is part of the content panel.
    .TabbedPanelsTabSelected {
        background-color: #EEE;
        border-bottom: 1px solid #EEE;
    /* This selector is an example of how to make a link inside of a tab button
    * look like normal text. Users may want to use links inside of a tab button
    * so that when it gets focus, the text *inside* the tab button gets a focus
    * ring around it, instead of the focus ring around the entire tab.
    .TabbedPanelsTab a {
        color: black;
        text-decoration: none;
    /* This is the selector for the ContentGroup. The ContentGroup container houses
    * all of the content panels for each tabbed panel in the widget. For our
    * default style, this container provides the background color and borders that
    * surround the content.
    * The name of the class ("TabbedPanelsContentGroup") used in this selector is
    * not necessary to make the widget function. You can use any class name you
    * want to style the ContentGroup container.
    .TabbedPanelsContentGroup {
        clear: both;
        border-left: solid 1px #CCC;
        border-bottom: solid 1px #CCC;
        border-top: solid 1px #999;
        border-right: solid 1px #999;
        background-color: #EEE;
    /* This is the selector for the Content panel. The Content panel holds the
    * content for a single tabbed panel. For our default style, this container
    * provides some padding, so that the content is not pushed up against the
    * widget borders.
    * The name of the class ("TabbedPanelsContent") used in this selector is
    * not necessary to make the widget function. You can use any class name you
    * want to style the Content container.
    .TabbedPanelsContent {
        padding: 4px;
    /* This selector is an example of how to change the appearnce of the currently
    * active container panel. The class "TabbedPanelsContentVisible" is
    * programatically added and removed from the content element as the panel
    * is activated/deactivated.
    .TabbedPanelsContentVisible {
    /* Vertical Tabbed Panels
    * The following rules override some of the default rules above so that the
    * TabbedPanels widget renders with its tab buttons along the left side of
    * the currently active content panel.
    * With the rules defined below, the only change that will have to be made
    * to switch a horizontal tabbed panels widget to a vertical tabbed panels
    * widget, is to use the "VTabbedPanels" class on the top-level widget
    * container element, instead of "TabbedPanels".
    /* This selector floats the TabGroup so that the tab buttons it contains
    * render to the left of the active content panel. A border is drawn around
    * the group container to make it look like a list container.
    .VTabbedPanels .TabbedPanelsTabGroup {
        float: left;
        width: 10em;
        height: 20em;
        background-color: #EEE;
        position: absolute;
        border-top: solid 1px #999;
        border-right: solid 1px #999;
        border-left: solid 1px #CCC;
        border-bottom: solid 1px #CCC;
    /* This selector disables the float property that is placed on each tab button
    * by the default TabbedPanelsTab selector rule above. It also draws a bottom
    * border for the tab. The tab button will get its left and right border from
    * the TabGroup, and its top border from the TabGroup or tab button above it.
    .VTabbedPanels .TabbedPanelsTab {
        float: none;
        margin: 0px;
        border-top: none;
        border-left: none;
        border-right: none;
    /* This selector disables the float property that is placed on each tab button
    * by the default TabbedPanelsTab selector rule above. It also draws a bottom
    * border for the tab. The tab button will get its left and right border from
    * the TabGroup, and its top border from the TabGroup or tab button above it.
    .VTabbedPanels .TabbedPanelsTabSelected {
        background-color: #EEE;
        border-bottom: solid 1px #999;
    /* This selector floats the content panels for the widget so that they
    * render to the right of the tabbed buttons.
    .VTabbedPanels .TabbedPanelsContentGroup {
        clear: none;
        float: left;
        padding: 0px;
        width: 30em;
        height: 20em;

    Hi Ben,
    I creat a new page ( a simple page...):
    http://dev.achab.it/test/test.htm
    Our web-graphics are insert into
    <script type="text/javascript" src="../common/js_func/parameters.js"></script>
    the SpryTabbedPanels.js scripts.
    On the new simple, you can click to 4 Tabs on the left.
    If you want to see the 5 or 6 content tab you can click the label into the 3 or 5 content tab.
    When you click on the label "here" on the 3° Tab (for example), you can see the content change and the "Tab 3" is not selected.
    I'd like to change the content and leave the "Tab 3" selected.
    I hope in your help :-)
    thank in advance
    regards
    Stefano

  • Spry Tabbed Panel obj Qs style

    Spry Tabbed Panel obj
    TAB NAMES how rather left-aligned(default) get centered?
    may have an image in a tab name?
    How tabs from left aligned extent to get all space(width) , all get bigger in width and aligned(the tabs) so tabbed area starts with: start of first tab and end with end of last tab?

    Change this rule:
    .TabbedPanelsTab {
        position: relative;
        top: 1px;
        float: left;
        padding: 4px 10px;
        margin: 0px 1px 0px 0px;
        font: bold 0.7em sans-serif;
        background-color: #DDD;
        list-style: none;
        border-left: solid 1px #CCC;
        border-bottom: solid 1px #999;
        border-top: solid 1px #999;
        border-right: solid 1px #999;
        -moz-user-select: none;
        -khtml-user-select: none;
        cursor: pointer;
       width: 100px;
        text-align: center;
    You will notice that I also added a width. Spry Tabbed Panel Tabs normally depend on the width of the text for their own dimension, so you need to add a width for the text to center in.
    2. Of course you can have an image. You are essentially working with a list structure; anything you can have in a list you can have on a tab.
    3. Give each tab li an id and "work out" percentage widths. Then, add selectors that assign those widths to each id'd list item. Caveats: you might want to do away with left and right padding in tabs if you are using percentages, because they will throw you off your count.
    If you are using a static width, you could use pixel widths, but I think percentages are a little cleaner. Here's what your code might look like:
    <li id="aboutustab" class="TabbedPanelsTab" tabindex="0">About Us</li>
    <li id="qualitycontroltab" class="Tabbed PanelsTab" tabindex="0">Quality Control Department</li>
    And corresponding CSS might look like this (if these were the only tabs!):
    .TabbedPanelsTab {
        position: relative;
        top: 1px;
        float: left;
        padding: 4px 10px;
        margin: 0px 1px 0px 0px;
        font: bold 0.7em sans-serif;
        background-color: #DDD;
        list-style: none;
        border-left: solid 1px #CCC;
        border-bottom: solid 1px #999;
        border-top: solid 1px #999;
        border-right: solid 1px #999;
        -moz-user-select: none;
        -khtml-user-select: none;
        cursor: pointer;
        width: 100px;
        text-align: center;
    #aboutustab.TabbedPanelsTab {
         width: 30%;
    #qualitycontroltab.TabbedPanelsTab {
         width: 69%;
    /*Note: be sure to put these BELOW the original .TabbedPanelsTab selector. ALSO NOTE that these are id and class on the SAME list item, so do not put a space between #aboutustab and .TabbedPanelsTab */
    I guesstimated the widths of the text for the tabs by throwing a grid over my page and adjusting the grid to show only ten grid-squares over the entire width of the panels. If you put all your tabs and tab labels in, you can then "read" an approximate width.
    Then I summed the 'lengths' of the tab labels (in this case, I got aboutustab=1, qualitycontroltab=2.3, total=3.3) and divided each width by the total (small divided by large) to get the percentage for each width.
    Be sure you don't add to more than 100%, or it will break.
    Okay, if you simply want your tabs to meet the ends of your TabbedPanels, and don't care particularly about the width of each tab, give the width in the principal style rule (.TabbedPanelsTab) a simple percentage of the width of the Panels. If you have 5 tabs, each will be 20% wide (adjust for borders, etc.).
    Beth

  • Spry tabbed panel

    Hi,
    I've paced a Spry tabbed panel into a page below 3 thumbnails of images, you click on the tab and a larger image drops down, that works just fine but I can't figure out how to have the contents of all tabs to be empty on load so no large images in the content area are visible, is this possible?
    Thanks in advance
    Pete

    Sorry Ben, don't have this page uploaded yet but I've included the code from the HTML page.
    Thanks Pete
    <!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>Web design professional web site design &amp; development Auckland Tauranga Wellington Filemaker Pro relational databases by Trident Solutions</title>
    <meta name="Description" content="Trident Solutions build professional websites and develop relational databases for clients in New Zealand and Australia." />
    <meta name="Keywords" content="Web site design, New Zealand Australia, Filemaker Pro databases design company," />
    <meta name="Copyright" content="Copyright Trident Solutions 2010. All rights reserved" />
    <meta name="Publisher" content="web design" />
    <meta name="Distribution" content="Global" />
    <meta name="Revisit" content="10 days" />
    <meta name="Language" content="English" />
    <meta name="Rating" content="General" />
    <link href="css_files/styles.css" rel="stylesheet" type="text/css" />
    <link href="css_files/body_class.css" rel="stylesheet" type="text/css" />
    <style type="text/css">
    #apDiv1 {
        position:absolute;
        width:200px;
        height:21px;
        z-index:27;
        left: 689px;
        top: 616px;
        background-color: #FF0000;
    #apDiv3 {
        position:absolute;
        width:77px;
        height:30px;
        z-index:1;
    #apDiv4 {
        position:absolute;
        width:83px;
        height:26px;
        z-index:1;
        top: 181px;
    #apDiv5 {
        position:absolute;
        width:200px;
        height:115px;
        z-index:27;
        left: 68px;
        top: 265px;
    body {
        background-color: #FFF;
    </style>
    <script src="SpryAssets/SpryCollapsiblePanel2.js" type="text/javascript"></script>
    <script src="SpryAssets/SpryTabbedPanels.js" type="text/javascript"></script>
    <link href="SpryAssets/SpryTabbedPanels.css" rel="stylesheet" type="text/css" />
    </head>
    <body class="services">
    <div id="centered"> 
    <div id="container">
    <div id="buttons">
       <a class="home" href="index.html">Home</a>     
        <a class="services" href="services.html">services</a>
        <a class="clients_examples" href="client_examples.html">client examples </a> 
        <a class="filemaker_pro_database" href="filemaker_pro_database.html">databases</a>   
        <a class="company_info" href="company_info.html">company info </a>    
        <a class="contact_us_feedback_form" href="contact_us_feedback_form.html">contact us feedback form</a>   
        <a class="photo_gallery" href="photo_gallery.html" target="_blank">photo gallery</a>  </div>
      <div id="header_text">
        <h1>Web design &amp; development<br />
          Filemaker Pro relational databases</h1>
        <h1>Digital photography</h1>
      </div>
      <div id="masthead"></div>
      <div id="apDiv2"></div>
      <div id="rh_title_heading"></div>
      <div id="services_table">
        <div id="web_title2">
          <h2>Services provided by Trident
          </h2>
          <div id="dotted_line_top"></div>
        </div>
        <p> </p>
        <p><img src="images/http_icon.jpg" alt="web icon" width="124" height="94" class="img" /><img src="images/database_icon.jpg" alt="filemaker icon" width="124" height="94" class="img" /><img src="images/digital_camera.jpg" alt="photos" width="124" height="94" class="img" />
        </p>
        <p> </p>
        <p> </p>
        <p> </p>
        <p> </p>
        <div id="services_image3">
          <p><img src="images/sydney_cove_tn.jpg" alt="" width="181" height="121" class="img" /><img src="images/mount_tn.jpg" width="181" height="121" class="img" /><img src="images/bridge_tn.jpg" width="181" height="121" class="img" /></p>
          <p> </p>
          </p>
          <p><br />
        </p>
    </div>
    <p> </p>
    <div id="image_3_large">
      <div id="TabbedPanels1" class="TabbedPanels">
        <ul class="TabbedPanelsTabGroup">
          <li class="TabbedPanelsTab" tabindex="0">Tab 1</li>
          <li class="TabbedPanelsTab" tabindex="0">Tab 2</li>
          <li class="TabbedPanelsTab" tabindex="0">Tab 3</li>
    </ul>
        <div class="TabbedPanelsContentGroup">
          <div class="TabbedPanelsContent1">Content 1</div>
          <div class="TabbedPanelsContent2">Content 2</div>
          <div class="TabbedPanelsContent3">Content 3</div>
    </div>
      </div>
      <p> </p>
    </div>
    <p> </p>
    </div>
      <div id="rh_text_box_css">
        <h3>CSS </h3>
        <p class="main_text"><strong>CSS</strong> stands for <strong>C</strong>ascading <strong>S</strong>tyle <strong>S</strong>heets<br />
          Styles define  how to display HTML elements<br />
          Styles were added to HTML 4.0 to solve a problem<strong><br />
            </strong>External Style Sheets can save a lot of work<br />
          External Style Sheets are stored in <strong>CSS files</strong></p>
        <div id="read2"><a href="http://www.w3schools.com/css/css_intro.asp" target="_blank"><img src="images/b_read.gif" alt="read" width="72" height="21" border="0" /></a></div>
        <p class="main_text"> </p>
    </div>
      <div id="index_lh_top_box"></div>
    </div>
    <div id="back_shadow">Content for  id "back_shadow" Goes Here</div>
    <p> </p>
    <div id="rh_text_box_flash"><span class="main_text_rh_box">
      <h3 class="home" id="sprytrigger1"><strong>Flash Animation</strong></h3>
        </span><span class="main_text"><span id="sprytrigger2">Web sites come</span> to life with the power of Flash <br />
        animation, display  interactive photo
        </span><span class="main_text">    how to albums, <br />
        diagrams with movement and tutorials can all<br />
    be done in Flash</span><span class="main_text">
    <p class="main_text"> </p>
        </span>
    <div id="read1"><a href="http://www.adobe.com/products/flash/whatisflash/" target="_blank"><img src="images/b_read.gif" alt="read" width="72" height="21" border="0" /></a></div>
    </div>
    <div id="rh_text_box_seo">
    <h3>Search Engine optimisation (SEO) </h3>
          <p class="main_text">As an Internet marketing strategy, SEO <br />
            considers how search engines  work and what <br />
            people search for. Optimising a web site primarily  <br />
            involves editing its content and HTML and <br />
            associated coding to both increase <br />
            the site's ranking with search engines. </p>
    <div id="read3"><a href="http://en.wikipedia.org/wiki/Search_engine_optimization" target="_blank"><img src="images/b_read.gif" alt="read" width="72" height="21" border="0" /></a></div>
      </div>
    <div id="rh_text_xhtml">
    <div id="read4"><a href="http://www.w3schools.com/xhtml/xhtml_intro.asp" target="_blank"><img src="images/b_read.gif" alt="read" width="72" height="21" border="0" /></a></div>
          <h3><span class="main_text_rh_box">XHTML</span> What Is XHTML?</h3>
          <span class="main_text">XHTML stands for EXtensible HyperText Markup<br />
    Language<br />
    XHTML is almost identical to HTML 4.01<br />
    XHTML is a stricter and cleaner version of HTML<br />
    XHTML is HTML defined as an XML application<br />
    XHTML is a W3C Recommendation</span>
          <p> </p>
      </div>
        <div id="footer_text">Copyright 2010. Trident Solutions. Comments regarding this site,   <span class="class1"><a href="mailto:[email protected]">please contact the web master.</a></span></div>
    </div>
    <script type="text/javascript">
    var TabbedPanels1 = new Spry.Widget.TabbedPanels("TabbedPanels1");
    </script>
    </body>
    </html>

  • Spry Tabbed Panels overwritting popup menu in IE6 and IE7 but display fine in Firefox

    I am new to Spry and Dreamweaver CS3 and would appreciate any
    help anyone can give. I am having an issue with Spry Tabbed Panels
    appearing above a navigation bar pop up menu only in IE6 and IE7.
    Everyhting works like expected in FF. I have several product pages
    that are exhibiting the same issue. I am not having this issue when
    using Spry Accordian. Would someone be able to educate me on what I
    can do to fix this problem. One of the product pages that is
    exhibiting this problem is
    Page
    with display issue

    The IE browsers implement z-indexing differently than most
    browsers ... specifically, IE browsers establish a new z-index
    context if you set the position CSS property of an element to
    anything other than static.
    What this means is that if you set something to
    position:relative ... any z-index values of children inside that
    element will be relative to that element.
    In your case, you seem to have a position relative on your
    div FWTableContainer1966866324. If you set the z-index value to
    something like 10, you'll notice that it fixes the problem.
    --== Kin ==--

  • Spry Tabbed Panels acting up!

    I am using Dreamweaver CS6
    I am using Spry Tabbed Panels and would like to add two tabs.  From the properties page, I use Panels + to add the second tab.
    I name the tab, then I go to split view to see what I did.  I notice there is a content 2 that appears, but when I go back to see
    the properties page, under panels, I see the first tab showing the name it should be, the second tab says the following: <missing content panel>
    If I go to split view and look at the code, I see this:
    <div id="apDiv9">
                <div id="TabbedPanels2" class="TabbedPanels">
                  <ul class="TabbedPanelsTabGroup">
                    <li class="TabbedPanelsTab" tabindex="0">PayStation</li>
                    <li class="TabbedPanelsTab" tabindex="0">IP Settings</li>
    </ul>
                  <div class="TabbedPanelsContentGroup">
                    <div class="TabbedPanelsContent"> <br/>
                      <br/>
    PayStation is the first tab
    IP Settings is the second tab
    I don't understand why it is saying missing content panel???
    Thank you,
    Neil

    Don't use Absolute positioning in primary layouts.  It's completely unnecessary for this and will actually do more harm than good.
    Use this in your CSS:
    body {
    width: 1000px;  /**adjust page width as desired**/
    margin: 0 auto;
    font-size: 62.50%;
    font-family: arial, helvetica, sans-serif;
    table {
    border: 1px solid #000;
    width: 30%;
    float:left;
    margin-right:3%;
    font-size: 12px;
    table caption {font-size: 24px}
    ==============
    HTML:
    <table><caption>SALES</caption>
    <tr>
    <td>something here </td>
    <td>something here </td>
    </tr>
    </table>
    <table><caption>EQUIP. STATUS</caption>
    <tr>
    <td>something here </td>
    <td>something here </td>
    </tr>
    </table>
    <table><caption>TIME/DATE</caption>
    <tr>
    <td>something here </td>
    <td>something here </td>
    </tr>
    </table>
    Nancy O.

  • Spry Tabbed Panels and Sliding Door CSS

    Has anyone been able to customize Spry Tabbed Panels using
    the Sliding Door CSS technique?
    Spry Tabbed Panels...
    http://labs.adobe.com/technologies/spry/samples/tabbedpanels/tabbed_panel_sample.htm
    Sliding Door CSS technique...
    http://alistapart.com/articles/slidingdoors/
    It would really be sweet to also have the animation of the
    PVII Tab Panel Magic...
    http://www.projectseven.com/products/tools/tabpanel/demo/

    Hi,
    Really nice :) I tried it and works perfectly.
    Thank you,
    Diana

Maybe you are looking for