Spry Accordion Close on Mouseout

I've got two Spry Accordion menus on one page. Got them to open on mouseover, but would love for them to close on mouseout. How do I do that?
http://onewomanproduction.com/brochure/index.html
Thanks, Shirley
Dreamweaver CS3

The following will only work when fixed panel heights has been turned off.
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
<link href="SpryAssets/SpryAccordion.css" rel="stylesheet">
<style>
body {width:960px; margin:auto;}
#Accordion1 {width:200px; float:left;}
#Accordion2 {width:200px; float:right;}
</style>
</head>
<body>
<div id="Accordion1" class="Accordion" tabindex="0">
  <div class="AccordionPanel">
    <div class="AccordionPanelTab">Label 1</div>
    <div class="AccordionPanelContent">Content 1</div>
  </div>
  <div class="AccordionPanel AccordionPanelOpen">
    <div class="AccordionPanelTab">Label 2</div>
    <div class="AccordionPanelContent">Content 2</div>
  </div>
</div>
<div id="Accordion2" class="Accordion" tabindex="0">
  <div class="AccordionPanel">
    <div class="AccordionPanelTab">Label 1</div>
    <div class="AccordionPanelContent">Content 1</div>
  </div>
  <div class="AccordionPanel">
    <div class="AccordionPanelTab">Label 2</div>
    <div class="AccordionPanelContent">Content 2</div>
  </div>
</div>
<script src="SpryAssets/SpryAccordion.js"></script>
<script>
var Accordion1 = new Spry.Widget.Accordion("Accordion1", { useFixedPanelHeights: false, defaultPanel: -1 });
var Accordion2 = new Spry.Widget.Accordion("Accordion2", { useFixedPanelHeights: false, defaultPanel: -1 });
Spry.Widget.Accordion.prototype.onPanelTabMouseOver = function(e, panel) {
    if (panel != this.currentPanel)
        this.openPanel(panel);
    else
        this.closePanel();
    return false;
Spry.Widget.Accordion.prototype.onPanelTabMouseOut = function(e, panel) {
    this.closePanel();
    return false;
</script>
</body>
</html>
Gramps

Similar Messages

  • Spry Accordion: close button malfunction

    Hello! I'm using a Close button at the end of each Accordion content panels. On click the panel closes BUT it also makes the page jumps to the very top. This happens across all browsers. What do I need to do to make panel close without sending the user to the top of the page? Thanks so much for any tips!!!
    <a href="#" onclick="Accordion1.closePanel()">  Close </a>

    Hi,
    I saw this case and I think this is what I need, but I still have a question.
    In my test site http://www.home-maastricht.nl/parkeren.html  I have almost only accordion tabs.
    They all need to close when I click on the picture from de accordionPanelContent.
    Where do I have to put the command to close these. Is it possible that I only do this on one place in de accordion css?
    If you click on the last accordeon Tab you see more pictures (a small dataset). This is only visible in IE but not in FF.
    Also does the page jump to the top. Any idee what I can do?
    Thanks a lot for your help!
    Carla

  • Spry Accordion - Tabs open and then close after page loads

    I am using a Spry Accordion menu driven from a database.
    The menu opens up during the page load and then closes.
    I'm using SpryAccordion.js 1.6.1
    And to open a preset tab, I'm using:
    <script type="text/javascript">
    <!--
    var Accordion1 = new Spry.Widget.Accordion("Accordion1",{useFixedPanelHeights:false, enableAnimation: false, defaultPanel: 0 });
    //-->
      </script>
    But, all of the tabs open and then close on page load.
    My page:   http://www.texashotjobs.us/00C01.aspx
    Any fix for this??
    Thanks, Ron

    Well to both thanks.  Actually I wasn't disappointed as I had a two part question...
    I tested the 1.6 JS and remembered that I had to modify the 1.4 so that tabs actually would link.  So I reverted back to 1.4.
    So, going to 1.6 fixed the open panel on load but "unfixed" the panel tab from linking.....
    So changing this in the 1.6 js fixed the link issue as well:
    Spry.Widget.Accordion.prototype.onPanelTabClick = function(e, panel)
        if (panel != this.currentPanel)
            this.openPanel(panel);
        else
            this.closePanel();
        if (this.enableKeyboardNavigation)
            this.focus();
    //    if (e.preventDefault) e.preventDefault();
    //    else e.returnValue = false;
    //    if (e.stopPropagation) e.stopPropagation();
    //    else e.cancelBubble = true;
    I t appears everything is working........
    Thanks, Ron Gaddis
    Visual Reality Productions

  • Spry accordion wont close in IE

    I apologize if this has been answered before, but I've been
    searching everywhere and cant find the solution.
    When the page loads all of the panels are open with the
    default panel height, then they all close just enough to not show
    any blank space. If you click on one of the headings then all the
    panels go through the animation of closing and then immediately
    snap back to the variable amount.
    This is showing up in IE, but not in FF (there, it works just
    fine).
    I also can't figure out how to close one that I've opened
    returning to the all closed state.
    Here is a link to the page I'm working on:
    http://localbusinessyellowbook.com/working/index2.php
    If anyone could help me out I would be greatly appreciative.
    Chris

    Hi Chris,
    Please review this link for resolve your issue where you can
    see most of the sample are covered for spry accordion widget.
    http://labs.adobe.com/technologies/spry/samples/accordion/AccordionSample.html#VariablePan elHeights
    Thanks,
    Zan
    e: [email protected]
    w: www.zanmedia.net

  • Spry Accordion menu opens on page load then closes

    Hello,
    I'm having issues with a SPRY Accordion menu loading with all of the tabs open, then closing once the page finishes loading.
    Example page is here:
    http://thesparkmachine.com/mca2009/academics
    (site is still being worked on, so forgive any oddities)
    Is this something that is occurring because of the large amount of material loading on the page at once? The site is Joomla!-based, and there are close to a dozen modules on the page, plus an random background image script.
    Any advice would be helpful.
    Thanks!

    I see you have also fixed your menu sections linking..
    But i still wanted to give you some advice on why it opens and closes.
    If you check out the source of your page, you will see that the constructor for your accordion is at the bottom of the page. When the browser loads the page, it parses from top to bottom, so it has parsed the accordion markup. But not yet the constructor for the accordion, so once it finally done with parsing the rest of the markup it finds the constructor and executes it.
    What would have helpt, if you just moved the <script> with the constructor to directly under the accordion. So when the accordion markup has been parsed the brower directly executes the scripts.

  • Spry: Accordion does not close properly

    Hi Everyone,
      I am very new to web design, so bear with me please.
    I created a new website using Dreamweaver and added a spry accordion to use as a menu.  it seemed to be working fine, but as I was adding links into the boxes it quit working on me.  I have thoughts of restarting, but I thought that you may be able to help me here as well.  The link to the website is  http://www.blakesprairiefair.com/2009.html
    I used images for the tab titles and they should all be uploaded, I shoud haver 5 tabs in the accordion but it only shows one   I am attaching how it looked a few keystrokes ago. I can't figure out why it is acting so oddly
    If you need more from me let me know,
    Thank you so much for any help
    Chuck

    Hey,  Thanks for the tip.  I looked through the code like 5 times and I can't seem to find any unclosed or extra Divs  I attached the code below in case that helps.
    I got the code for the defaultPanel: -1 from http://livedocs.adobe.com/en_US/Spry/1.4/help.html?content=WS0E55F588-24EC-4dd3-9508-82132 4E7F133.html
    - Still haven't found the error
    Thanks
    Chuck
    <!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>Untitled Document</title>
    <link href="_css/NewWebpage.css" rel="stylesheet" type="text/css" />
    <style type="text/css">
    <!--
    #apDiv1 {
        position:absolute;
        width:200px;
        height:115px;
        z-index:1;
    #apDiv2 {
        position:absolute;
        width:200px;
        height:115px;
        z-index:1;
    -->
    </style>
    <script src="SpryAssets/SpryAccordion.js" type="text/javascript"></script>
    <link href="SpryAssets/SpryAccordion.css" rel="stylesheet" type="text/css" />
    </head>
    <body class="oneColElsCtr">
    <div id="container">
    <div id="mainContent">
      <div id="UpperLeftSpacing"></div>
      <div id="UpperRightTitle"></div>
      <div id="LowerLeft4NavBar">
        <div id="NavBar">
          <div id="SmallerNavBar">
            <div id="Accordion1" class="Accordion" tabindex="0">
              <div class="AccordionPanel">
                <div class="AccordionPanelTab"><img src="Pix/T-Home.jpg" width="175" height="22" /></div>
                <div class="AccordionPanelContent"><em><a href="http://www.blakesprairiefair.com">Home</a></em></div>
              </div>
              <div class="AccordionPanel">
                <div class="AccordionPanelTab"><img src="Pix/T-09Events.jpg" width="175" height="22" /></div>
                <div class="AccordionPanelContent">
                <p><em><strong><a href="http://www.blakesprairiefair.com/index_files/ScheduleofEvents.htm">Events Schedule</a></strong></em><a href="http://www.blakesprairiefair.com/index_files/ScheduleofEvents.htm"></a></p>
                  <p><em><strong>Friday Night :</br>
                  <br>     <a href="http://www.blakesprairiefair.com/index_files/DemoDerby.htm">Demo Derby</a></strong></em><em><strong></em></p>
                  <p><em><strong>Saturday:</br>
                    <br>    <a href="http://www.blakesprairiefair.com/index_files/JudgingSchedule.htm">Judging</a></strong></em></br>
                    <br>    <a href="http://www.blakesprairiefair.com/index_files/CombineDemoDerby2009.htm">Combine Derby</a></em></p>
                  <p><em><strong>Sunday:</br>
                    <br>    <a href="http://www.blakesprairiefair.com/index_files/TractorPull.htm">Tractor Pull</a></em></p>
                </div>
              </div>
              <div class="AccordionPanel">
                <div class="AccordionPanelTab"><img src="Pix/T-09Docs.jpg" width="175" height="22" /></div>
                <div class="AccordionPanelContent">
                  <p><em><strong><a href="http://www.blakesprairiefair.com/2009FairBook.pdf">09 Fair Book (pdf)</a></strong></em></p>
                  <p><em><strong><a href="http://www.blakesprairiefair.com/index_files/Page396.htm">09 Documents</a></strong></em><a href="http://www.blakesprairiefair.com/index_files/Page396.htm"></a></p>
                </div>
              </div>
              <div class="AccordionPanel">
                <div class="AccordionPanelTab"><img src="Pix/T-Contact.jpg" width="175" height="22" /></div>
                <div class="AccordionPanelContent"><strong>Content 5</strong></div>
              </div>
              <div class="AccordionPanel">
                <div class="AccordionPanelTab"><img src="Pix/T-Links.jpg" width="175" height="22" /></div>
                <div class="AccordionPanelContent"><strong>Content 6</strong></div>
              </div>
              <div class="AccordionPanel">
                <div class="AccordionPanelTab"><img src="Pix/T-Past.jpg" width="175" height="22" /></div>
                <div class="AccordionPanelContent">
                  <p>2007</p>
                  <p>2008</p>
                </div>
              </div>
    </div>
            <div id="Cover">
              <p align="center"><img src="2009Cover.jpg" width="185" height="302" /></br>
              <br>Cover Designed By:</br>
              <br>Andrea Pagenkopf</br>
              <br>Rolling Rockets 4-H</p>
            </div>
          </div>
        </div>
      </div>
      <div id="MainContentBox">
        <div id="BoxForText">
          <p align="center">Welcome to the new</p>
          <p align="center"><strong>Blake's Prairie Jr. Fair </strong></p>
          <p align="center">Webpage</p>
          <p align="center"> </p>
          <p align="center"><strong><em><u>News:</u></em></strong></p>
          <p align="center"><em>Buttons for 2009 are on sale now! </em></p>
          <p align="center"><em>Visit local businesses or contact your local 4-H Club or FFA </em>Chapter to purchase one today.</p>
          <p align="center"> </p>
          <p align="center"><strong><em><u>Updates:</u></em></strong></p>
          <p align="left"><em>7/10/2009</em> - New Homepage</p>
          <p align="left"><em>5/20/2009</em> - <a href="http://www.blakesprairiefair.com/2009FairBook.pdf">2009 Fair Book</a> Added to Site</p>
        </div>
      </div>
      <div id="BottomBox"></div>
      <!-- end #container -->
    </div>
    </div>
    <script type="text/javascript">
    <!--
    var Accordion1 = new Spry.Widget.Accordion("Accordion1", { useFixedPanelHeights: false , defaultPanel: -1 });
    //-->
    </script>
    </body>
    </html>

  • Using anchor within spry accordion???

    Hi everyone,
    I have an index page www.nateurope.com. The news are linking to an accordion http://www.nateurope.com/news.htm. I added anchors because I thought that it would be nice if the user click on March, 22 Virtual Conference (www.nateurope.com) he would directly get to the open panel March, 22 Virtual Conference on the nateurope.com/news.htm page.
    I tried to get the information I need by googling but the only thing I found is this if you have the button on the same page.
    <input type="button" onclick="acc10.openFirstPanel()" >open first panel</input>
    <input type="button" onclick="acc10.openNextPanel()" >open next panel</input>
    <input type="button" onclick="acc10.openPreviousPanel()" >open previous panel</input>
    <input type="button" onclick="acc10.openLastPanel()" >open last panel</input>
    <script type="text/javascript">
         var acc10 = new Spry.Widget.Accordion("Accordion1");
    </script>
    ->Would this be the solution? Where do I have to add this code?
    I read also that it is only possible if the height is variable but I didn't understand where to implement this information? SpryAccordion .js?
    this.useFixedPanelHeights = true;
    this.fixedPanelHeight = 0;
    Turn true in false? Or just add this code at the end of the page? <script type="text/javascript">
    var acc1 = new Spry.Widget.Accordion("Acc1", { useFixedPanelHeights: false });
    </script>
    Further I found the description of the panel ID http://labs.adobe.com/technologies/spry/samples/accordion/AccordionSample.html but I didn't understand how to implement this code as well.
    I am really lost and would appreciate very much your help. Don't hesitate to contact me if you need further code or information. I would be happy to see how to implement the information .
    Thy a lot in advance.

    Hi Gramps,
    I deleted everything and started right from beginning. Unfortunately without success, probably I made something wrong with the heigth setting? I just changed in .js true to false:
    (function() { // BeginSpryComponent
    if (typeof Spry == "undefined") window.Spry = {}; if (!Spry.Widget) Spry.Widget = {};
    Spry.Widget.Accordion = function(element, opts)
    this.element = this.getElement(element);
    this.defaultPanel = 0;
    this.hoverClass = "AccordionPanelTabHover";
    this.openClass = "AccordionPanelOpen";
    this.closedClass = "AccordionPanelClosed";
    this.focusedClass = "AccordionFocused";
    this.enableAnimation = true;
    this.enableKeyboardNavigation = true;
    this.currentPanel = null;
    this.animator = null;
    this.hasFocus = null;
    this.previousPanelKeyCode = Spry.Widget.Accordion.KEY_UP;
    this.nextPanelKeyCode = Spry.Widget.Accordion.KEY_DOWN;
    this.useFixedPanelHeights = false;
    this.fixedPanelHeight = -1;
    Spry.Widget.Accordion.setOptions(this, opts, true);
    if (this.element)
    this.attachBehaviors();
    Spry.Widget.Accordion.prototype.getElement = function(ele)
    if (ele && typeof ele == "string")
    return document.getElementById(ele);
    return ele;
    Spry.Widget.Accordion.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.Accordion.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.Accordion.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.Accordion.prototype.onPanelTabMouseOver = function(e, panel)
    if (panel)
    this.addClassName(this.getPanelTab(panel), this.hoverClass);
    return false;
    Spry.Widget.Accordion.prototype.onPanelTabMouseOut = function(e, panel)
    if (panel)
    this.removeClassName(this.getPanelTab(panel), this.hoverClass);
    return false;
    Spry.Widget.Accordion.prototype.openPanel = function(elementOrIndex)
    var panelA = this.currentPanel;
    var panelB;
    if (typeof elementOrIndex == "number")
    panelB = this.getPanels()[elementOrIndex];
    else
    panelB = this.getElement(elementOrIndex);
    if (!panelB || panelA == panelB)
    return null;
    var contentA = panelA ? this.getPanelContent(panelA) : null;
    var contentB = this.getPanelContent(panelB);
    if (!contentB)
    return null;
    if (this.useFixedPanelHeights && !this.fixedPanelHeight)
    this.fixedPanelHeight = (contentA.offsetHeight) ? contentA.offsetHeight : contentA.scrollHeight;
    if (this.enableAnimation)
    if (this.animator)
    this.animator.stop();
    this.animator = new Spry.Widget.Accordion.PanelAnimator(this, panelB, { duration: this.duration, fps: this.fps, transition: this.transition });
    this.animator.start();
    else
    if(contentA)
    contentA.style.display = "none";
    contentA.style.height = "0px";
    contentB.style.display = "block";
    contentB.style.height = this.useFixedPanelHeights ? this.fixedPanelHeight + "px" : "auto";
    if(panelA)
    this.removeClassName(panelA, this.openClass);
    this.addClassName(panelA, this.closedClass);
    this.removeClassName(panelB, this.closedClass);
    this.addClassName(panelB, this.openClass);
    this.currentPanel = panelB;
    return panelB;
    Spry.Widget.Accordion.prototype.closePanel = function()
    // The accordion can only ever have one panel open at any
    // give time, so this method only closes the current panel.
    // If the accordion is in fixed panel heights mode, this
    // method does nothing.
    if (!this.useFixedPanelHeights && this.currentPanel)
    var panel = this.currentPanel;
    var content = this.getPanelContent(panel);
    if (content)
    if (this.enableAnimation)
    if (this.animator)
    this.animator.stop();
    this.animator = new Spry.Widget.Accordion.PanelAnimator(this, null, { duration: this.duration, fps: this.fps, transition: this.transition });
    this.animator.start();
    else
    content.style.display = "none";
    content.style.height = "0px";
    this.removeClassName(panel, this.openClass);
    this.addClassName(panel, this.closedClass);
    this.currentPanel = null;
    Spry.Widget.Accordion.prototype.openNextPanel = function()
    return this.openPanel(this.getCurrentPanelIndex() + 1);
    Spry.Widget.Accordion.prototype.openPreviousPanel = function()
    return this.openPanel(this.getCurrentPanelIndex() - 1);
    Spry.Widget.Accordion.prototype.openFirstPanel = function()
    return this.openPanel(0);
    Spry.Widget.Accordion.prototype.openLastPanel = function()
    var panels = this.getPanels();
    return this.openPanel(panels[panels.length - 1]);
    Spry.Widget.Accordion.prototype.onPanelTabClick = function(e, panel)
    if (panel != this.currentPanel)
    this.openPanel(panel);
    else
    this.closePanel();
    if (this.enableKeyboardNavigation)
    this.focus();
    if (e.preventDefault) e.preventDefault();
    else e.returnValue = false;
    if (e.stopPropagation) e.stopPropagation();
    else e.cancelBubble = true;
    return false;
    Spry.Widget.Accordion.prototype.onFocus = function(e)
    this.hasFocus = true;
    this.addClassName(this.element, this.focusedClass);
    return false;
    Spry.Widget.Accordion.prototype.onBlur = function(e)
    this.hasFocus = false;
    this.removeClassName(this.element, this.focusedClass);
    return false;
    Spry.Widget.Accordion.KEY_UP = 38;
    Spry.Widget.Accordion.KEY_DOWN = 40;
    Spry.Widget.Accordion.prototype.onKeyDown = function(e)
    var key = e.keyCode;
    if (!this.hasFocus || (key != this.previousPanelKeyCode && key != this.nextPanelKeyCode))
    return true;
    var panels = this.getPanels();
    if (!panels || panels.length < 1)
    return false;
    var currentPanel = this.currentPanel ? this.currentPanel : panels[0];
    var nextPanel = (key == this.nextPanelKeyCode) ? currentPanel.nextSibling : currentPanel.previousSibling;
    while (nextPanel)
    if (nextPanel.nodeType == 1 /* Node.ELEMENT_NODE */)
    break;
    nextPanel = (key == this.nextPanelKeyCode) ? nextPanel.nextSibling : nextPanel.previousSibling;
    if (nextPanel && currentPanel != nextPanel)
    this.openPanel(nextPanel);
    if (e.preventDefault) e.preventDefault();
    else e.returnValue = false;
    if (e.stopPropagation) e.stopPropagation();
    else e.cancelBubble = true;
    return false;
    Spry.Widget.Accordion.prototype.attachPanelHandlers = function(panel)
    if (!panel)
    return;
    var tab = this.getPanelTab(panel);
    if (tab)
    var self = this;
    Spry.Widget.Accordion.addEventListener(tab, "click", function(e) { return self.onPanelTabClick(e, panel); }, false);
    Spry.Widget.Accordion.addEventListener(tab, "mouseover", function(e) { return self.onPanelTabMouseOver(e, panel); }, false);
    Spry.Widget.Accordion.addEventListener(tab, "mouseout", function(e) { return self.onPanelTabMouseOut(e, panel); }, false);
    Spry.Widget.Accordion.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.Accordion.prototype.initPanel = function(panel, isDefault)
    var content = this.getPanelContent(panel);
    if (isDefault)
    this.currentPanel = panel;
    this.removeClassName(panel, this.closedClass);
    this.addClassName(panel, this.openClass);
    // Attempt to set up the height of the default panel. We don't want to
    // do any dynamic panel height calculations here because our accordion
    // or one of its parent containers may be display:none.
    if (content)
    if (this.useFixedPanelHeights)
    // We are in fixed panel height mode and the user passed in
    // a panel height for us to use.
    if (this.fixedPanelHeight)
    content.style.height = this.fixedPanelHeight + "px";
    else
    // We are in variable panel height mode, but since we can't
    // calculate the panel height here, we just set the height to
    // auto so that it expands to show all of its content.
    content.style.height = "auto";
    else
    this.removeClassName(panel, this.openClass);
    this.addClassName(panel, this.closedClass);
    if (content)
    content.style.height = "0px";
    content.style.display = "none";
    this.attachPanelHandlers(panel);
    Spry.Widget.Accordion.prototype.attachBehaviors = function()
    var panels = this.getPanels();
    for (var i = 0; i < panels.length; i++)
    this.initPanel(panels[i], i == this.defaultPanel);
    // Advanced keyboard navigation requires the tabindex attribute
    // on the top-level element.
    this.enableKeyboardNavigation = (this.enableKeyboardNavigation && this.element.attributes.getNamedItem("tabindex"));
    if (this.enableKeyboardNavigation)
    var self = this;
    Spry.Widget.Accordion.addEventListener(this.element, "focus", function(e) { return self.onFocus(e); }, false);
    Spry.Widget.Accordion.addEventListener(this.element, "blur", function(e) { return self.onBlur(e); }, false);
    Spry.Widget.Accordion.addEventListener(this.element, "keydown", function(e) { return self.onKeyDown(e); }, false);
    Spry.Widget.Accordion.prototype.getPanels = function()
    return this.getElementChildren(this.element);
    Spry.Widget.Accordion.prototype.getCurrentPanel = function()
    return this.currentPanel;
    Spry.Widget.Accordion.prototype.getPanelIndex = function(panel)
    var panels = this.getPanels();
    for( var i = 0 ; i < panels.length; i++ )
    if( panel == panels[i] )
    return i;
    return -1;
    Spry.Widget.Accordion.prototype.getCurrentPanelIndex = function()
    return this.getPanelIndex(this.currentPanel);
    Spry.Widget.Accordion.prototype.getPanelTab = function(panel)
    if (!panel)
    return null;
    return this.getElementChildren(panel)[0];
    Spry.Widget.Accordion.prototype.getPanelContent = function(panel)
    if (!panel)
    return null;
    return this.getElementChildren(panel)[1];
    Spry.Widget.Accordion.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.Accordion.prototype.focus = function()
    if (this.element && this.element.focus)
    this.element.focus();
    Spry.Widget.Accordion.prototype.blur = function()
    if (this.element && this.element.blur)
    this.element.blur();
    Spry.Widget.Accordion.PanelAnimator = function(accordion, panel, opts)
    this.timer = null;
    this.interval = 0;
    this.fps = 60;
    this.duration = 500;
    this.startTime = 0;
    this.transition = Spry.Widget.Accordion.PanelAnimator.defaultTransition;
    this.onComplete = null;
    this.panel = panel;
    this.panelToOpen = accordion.getElement(panel);
    this.panelData = [];
    this.useFixedPanelHeights = accordion.useFixedPanelHeights;
    Spry.Widget.Accordion.setOptions(this, opts, true);
    this.interval = Math.floor(1000 / this.fps);
    // Set up the array of panels we want to animate.
    var panels = accordion.getPanels();
    for (var i = 0; i < panels.length; i++)
    var p = panels[i];
    var c = accordion.getPanelContent(p);
    if (c)
    var h = c.offsetHeight;
    if (h == undefined)
    h = 0;
    if (p == panel && h == 0)
    c.style.display = "block";
    if (p == panel || h > 0)
    var obj = new Object;
    obj.panel = p;
    obj.content = c;
    obj.fromHeight = h;
    obj.toHeight = (p == panel) ? (accordion.useFixedPanelHeights ? accordion.fixedPanelHeight : c.scrollHeight) : 0;
    obj.distance = obj.toHeight - obj.fromHeight;
    obj.overflow = c.style.overflow;
    this.panelData.push(obj);
    c.style.overflow = "hidden";
    c.style.height = h + "px";
    Spry.Widget.Accordion.PanelAnimator.defaultTransition = function(time, begin, finish, duration) { time /= duration; return begin + ((2 - time) * time * finish); };
    Spry.Widget.Accordion.PanelAnimator.prototype.start = function()
    var self = this;
    this.startTime = (new Date).getTime();
    this.timer = setTimeout(function() { self.stepAnimation(); }, this.interval);
    Spry.Widget.Accordion.PanelAnimator.prototype.stop = function()
    if (this.timer)
    clearTimeout(this.timer);
    // If we're killing the timer, restore the overflow
    // properties on the panels we were animating!
    for (i = 0; i < this.panelData.length; i++)
    obj = this.panelData[i];
    obj.content.style.overflow = obj.overflow;
    this.timer = null;
    Spry.Widget.Accordion.PanelAnimator.prototype.stepAnimation = function()
    var curTime = (new Date).getTime();
    var elapsedTime = curTime - this.startTime;
    var i, obj;
    if (elapsedTime >= this.duration)
    for (i = 0; i < this.panelData.length; i++)
    obj = this.panelData[i];
    if (obj.panel != this.panel)
    obj.content.style.display = "none";
    obj.content.style.height = "0px";
    obj.content.style.overflow = obj.overflow;
    obj.content.style.height = (this.useFixedPanelHeights || obj.toHeight == 0) ? obj.toHeight + "px" : "auto";
    if (this.onComplete)
    this.onComplete();
    return;
    for (i = 0; i < this.panelData.length; i++)
    obj = this.panelData[i];
    var ht = this.transition(elapsedTime, obj.fromHeight, obj.distance, this.duration);
    obj.content.style.height = ((ht < 0) ? 0 : ht) + "px";
    var self = this;
    this.timer = setTimeout(function() { self.stepAnimation(); }, this.interval);
    })(); // EndSpryComponent
    I changed in the HTML code of the page with the accordion:
    <link href="SpryAssets/SpryAccordion.css" rel="stylesheet" ><script src="SpryAssets/SpryAccordion.js"></script>
    <script src="SpryAssets/SpryURLUtils.js"></script><script>
    var params = Spry.Utils.getLocationParamsAsObject();
    </script>
    and at the end: <script type="text/javascript">
    *var Accordion1 = new Spry.Widget.Accordion("Accordion1");{defaultPanel:params.panel?params.panel:0});*
    </script>
    Is the problem that there are more than 9 panels?
    I don't know if you have enough patience to help me again?

  • A simple Spry Accordion Question (I think)

    Hi all:
    I've searched but can't find, but I think this is a simple one.
    I've created a basic Spry accordion menu with DW/CS3 - Insert/Spry/Spry Accordion. How do I get the first "Content 1" to be hidden/not visible upon page load. Right now, the "Lable 2" must be clicked to hide the "Content 1" which of course shows the "Content 2"? Guessing it's in the JS, but I'm not sure. TIA for any help. HTML and JS Code below.
    <!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>Untitled Document</title>
    <script src="SpryAssets/SpryAccordion.js" type="text/javascript"></script>
    <link href="SpryAssets/SpryAccordion.css" rel="stylesheet" type="text/css" />
    </head>
    <body>
    <div id="Accordion1" class="Accordion" tabindex="0">
      <div class="AccordionPanel">
        <div class="AccordionPanelTab">Label 1</div>
        <div class="AccordionPanelContent">Content 1</div>
      </div>
      <div class="AccordionPanel">
        <div class="AccordionPanelTab">Label 2</div>
        <div class="AccordionPanelContent">Content 2</div>
      </div>
    </div>
    <script type="text/javascript">
    <!--
    var Accordion1 = new Spry.Widget.Accordion("Accordion1");
    //-->
    </script>
    </body>
    </html>
    JAVASCRIPT
    var Spry;
    if (!Spry) Spry = {};
    if (!Spry.Widget) Spry.Widget = {};
    Spry.Widget.Accordion = function(element, opts)
        this.element = this.getElement(element);
        this.defaultPanel = 0;
        this.hoverClass = "AccordionPanelTabHover";
        this.openClass = "AccordionPanelOpen";
        this.closedClass = "AccordionPanelClosed";
        this.focusedClass = "AccordionFocused";
        this.enableAnimation = true;
        this.enableKeyboardNavigation = true;
        this.currentPanel = null;
        this.animator = null;
        this.hasFocus = null;
        this.duration = 500;
        this.previousPanelKeyCode = Spry.Widget.Accordion.KEY_UP;
        this.nextPanelKeyCode = Spry.Widget.Accordion.KEY_DOWN;
        this.useFixedPanelHeights = true;
        this.fixedPanelHeight = 0;
        Spry.Widget.Accordion.setOptions(this, opts, true);
        // Unfortunately in some browsers like Safari, the Stylesheets our
        // page depends on may not have been loaded at the time we are called.
        // This means we have to defer attaching our behaviors until after the
        // onload event fires, since some of our behaviors rely on dimensions
        // specified in the CSS.
        if (Spry.Widget.Accordion.onloadDidFire)
            this.attachBehaviors();
        else
            Spry.Widget.Accordion.loadQueue.push(this);
    Spry.Widget.Accordion.onloadDidFire = false;
    Spry.Widget.Accordion.loadQueue = [];
    Spry.Widget.Accordion.addLoadListener = function(handler)
        if (typeof window.addEventListener != 'undefined')
            window.addEventListener('load', handler, false);
        else if (typeof document.addEventListener != 'undefined')
            document.addEventListener('load', handler, false);
        else if (typeof window.attachEvent != 'undefined')
            window.attachEvent('onload', handler);
    Spry.Widget.Accordion.processLoadQueue = function(handler)
        Spry.Widget.Accordion.onloadDidFire = true;
        var q = Spry.Widget.Accordion.loadQueue;
        var qlen = q.length;
        for (var i = 0; i < qlen; i++)
            q[i].attachBehaviors();
    Spry.Widget.Accordion.addLoadListener(Spry.Widget.Accordion.processLoadQueue);
    Spry.Widget.Accordion.prototype.getElement = function(ele)
        if (ele && typeof ele == "string")
            return document.getElementById(ele);
        return ele;
    Spry.Widget.Accordion.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.Accordion.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.Accordion.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.Accordion.prototype.onPanelTabMouseOver = function(panel)
        if (panel)
            this.addClassName(this.getPanelTab(panel), this.hoverClass);
    Spry.Widget.Accordion.prototype.onPanelTabMouseOut = function(panel)
        if (panel)
            this.removeClassName(this.getPanelTab(panel), this.hoverClass);
    Spry.Widget.Accordion.prototype.openPanel = function(panel)
        var panelA = this.currentPanel;
        var panelB = panel;
        if (!panelB || panelA == panelB)   
            return;
        var contentA;
        if( panelA )
            contentA = this.getPanelContent(panelA);
        var contentB = this.getPanelContent(panelB);
        if (! contentB)
            return;
        if (this.useFixedPanelHeights && !this.fixedPanelHeight)
            this.fixedPanelHeight = (contentA.offsetHeight) ? contentA.offsetHeight : contentA.scrollHeight;
        if (this.enableAnimation)
            if (this.animator)
                this.animator.stop();
            this.animator = new Spry.Widget.Accordion.PanelAnimator(this, panelB, { duration: this.duration });
            this.animator.start();
        else
            if(contentA)
                contentA.style.height = "0px";
            contentB.style.height = (this.useFixedPanelHeights ? this.fixedPanelHeight : contentB.scrollHeight) + "px";
        if(panelA)
            this.removeClassName(panelA, this.openClass);
            this.addClassName(panelA, this.closedClass);
        this.removeClassName(panelB, this.closedClass);
        this.addClassName(panelB, this.openClass);
        this.currentPanel = panelB;
    Spry.Widget.Accordion.prototype.openNextPanel = function()
        var panels = this.getPanels();
        var curPanelIndex = this.getCurrentPanelIndex();
        if( panels && curPanelIndex >= 0 && (curPanelIndex+1) < panels.length )
            this.openPanel(panels[curPanelIndex+1]);
    Spry.Widget.Accordion.prototype.openPreviousPanel = function()
        var panels = this.getPanels();
        var curPanelIndex = this.getCurrentPanelIndex();
        if( panels && curPanelIndex > 0 && curPanelIndex < panels.length )
            this.openPanel(panels[curPanelIndex-1]);
    Spry.Widget.Accordion.prototype.openFirstPanel = function()
        var panels = this.getPanels();
        if( panels )
            this.openPanel(panels[0]);
    Spry.Widget.Accordion.prototype.openLastPanel = function()
        var panels = this.getPanels();
        if( panels )
            this.openPanel(panels[panels.length-1]);
    Spry.Widget.Accordion.prototype.onPanelClick = function(panel)
        // if (this.enableKeyboardNavigation)
        //     this.element.focus();
        if (panel != this.currentPanel)
            this.openPanel(panel);
        this.focus();
    Spry.Widget.Accordion.prototype.onFocus = function(e)
        // this.element.focus();
        this.hasFocus = true;
        this.addClassName(this.element, this.focusedClass);
    Spry.Widget.Accordion.prototype.onBlur = function(e)
        // this.element.blur();
        this.hasFocus = false;
        this.removeClassName(this.element, this.focusedClass);
    Spry.Widget.Accordion.KEY_UP = 38;
    Spry.Widget.Accordion.KEY_DOWN = 40;
    Spry.Widget.Accordion.prototype.onKeyDown = function(e)
        var key = e.keyCode;
        if (!this.hasFocus || (key != this.previousPanelKeyCode && key != this.nextPanelKeyCode))
            return true;
        var panels = this.getPanels();
        if (!panels || panels.length < 1)
            return false;
        var currentPanel = this.currentPanel ? this.currentPanel : panels[0];
        var nextPanel = (key == this.nextPanelKeyCode) ? currentPanel.nextSibling : currentPanel.previousSibling;
        while (nextPanel)
            if (nextPanel.nodeType == 1 /* Node.ELEMENT_NODE */)
                break;
            nextPanel = (key == this.nextPanelKeyCode) ? nextPanel.nextSibling : nextPanel.previousSibling;
        if (nextPanel && currentPanel != nextPanel)
            this.openPanel(nextPanel);
        if (e.stopPropagation)
            e.stopPropagation();
        if (e.preventDefault)
            e.preventDefault();
        return false;
    Spry.Widget.Accordion.prototype.attachPanelHandlers = function(panel)
        if (!panel)
            return;
        var tab = this.getPanelTab(panel);
        if (tab)
            var self = this;
            Spry.Widget.Accordion.addEventListener(tab, "click", function(e) { return self.onPanelClick(panel); }, false);
            Spry.Widget.Accordion.addEventListener(tab, "mouseover", function(e) { return self.onPanelTabMouseOver(panel); }, false);
            Spry.Widget.Accordion.addEventListener(tab, "mouseout", function(e) { return self.onPanelTabMouseOut(panel); }, false);
    Spry.Widget.Accordion.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.Accordion.prototype.initPanel = function(panel, isDefault)
        var content = this.getPanelContent(panel);
        if (isDefault)
            this.currentPanel = panel;
            this.removeClassName(panel, this.closedClass);
            this.addClassName(panel, this.openClass);
        else
            this.removeClassName(panel, this.openClass);
            this.addClassName(panel, this.closedClass);
            content.style.height = "0px";
        this.attachPanelHandlers(panel);
    Spry.Widget.Accordion.prototype.attachBehaviors = function()
        var panels = this.getPanels();
        for (var i = 0; i < panels.length; i++)
            this.initPanel(panels[i], i == this.defaultPanel);
        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.
            var tabIndexAttr = this.element.attributes.getNamedItem("tabindex");
            // if (!tabIndexAttr) this.element.tabindex = 0;
            if (tabIndexAttr)
                var self = this;
                Spry.Widget.Accordion.addEventListener(this.element, "focus", function(e) { return self.onFocus(e); }, false);
                Spry.Widget.Accordion.addEventListener(this.element, "blur", function(e) { return self.onBlur(e); }, false);
                Spry.Widget.Accordion.addEventListener(this.element, "keydown", function(e) { return self.onKeyDown(e); }, false);
    Spry.Widget.Accordion.prototype.getPanels = function()
        return this.getElementChildren(this.element);
    Spry.Widget.Accordion.prototype.getCurrentPanel = function()
        return this.currentPanel;
    Spry.Widget.Accordion.prototype.getCurrentPanelIndex = function()
        var panels = this.getPanels();
        for( var i = 0 ; i < panels.length; i++ )
            if( this.currentPanel == panels[i] )
                return i;
        return 0;
    Spry.Widget.Accordion.prototype.getPanelTab = function(panel)
        if (!panel)
            return null;
        return this.getElementChildren(panel)[0];
    Spry.Widget.Accordion.prototype.getPanelContent = function(panel)
        if (!panel)
            return null;
        return this.getElementChildren(panel)[1];
    Spry.Widget.Accordion.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.Accordion.prototype.focus = function()
        if (this.element && this.element.focus)
            this.element.focus();
    Spry.Widget.Accordion.PanelAnimator = function(accordion, panel, opts)
        this.timer = null;
        this.interval = 0;
        this.stepCount = 0;
        this.fps = 0;
        this.steps = 10;
        this.duration = 500;
        this.onComplete = null;
        this.panel = panel;
        this.panelToOpen = accordion.getElement(panel);
        this.panelData = [];
        Spry.Widget.Accordion.setOptions(this, opts, true);
        // If caller specified speed in terms of frames per second,
        // convert them into steps.
        if (this.fps > 0)
            this.interval = Math.floor(1000 / this.fps);
            this.steps = parseInt((this.duration + (this.interval - 1)) / this.interval);
        else if (this.steps > 0)
            this.interval = this.duration / this.steps;
        // Set up the array of panels we want to animate.
        var panels = accordion.getPanels();
        for (var i = 0; i < panels.length; i++)
            var p = panels[i];
            var c = accordion.getPanelContent(p);
            if (c)
                var h = c.offsetHeight;
                if (h == undefined)
                    h = 0;
                if (p == panel || h > 0)
                    var obj = new Object;
                    obj.panel = p;
                    obj.content = c;
                    obj.fromHeight = h;
                    obj.toHeight = (p == panel) ? (accordion.useFixedPanelHeights ? accordion.fixedPanelHeight : c.scrollHeight) : 0;
                    obj.increment = (obj.toHeight - obj.fromHeight) / this.steps;
                    obj.overflow = c.style.overflow;
                    this.panelData.push(obj);
                    c.style.overflow = "hidden";
                    c.style.height = h + "px";
    Spry.Widget.Accordion.PanelAnimator.prototype.start = function()
        var self = this;
        this.timer = setTimeout(function() { self.stepAnimation(); }, this.interval);
    Spry.Widget.Accordion.PanelAnimator.prototype.stop = function()
        if (this.timer)
            clearTimeout(this.timer);
            // If we're killing the timer, restore the overflow
            // properties on the panels we were animating!
            if (this.stepCount < this.steps)
                for (i = 0; i < this.panelData.length; i++)
                    obj = this.panelData[i];
                    obj.content.style.overflow = obj.overflow;
        this.timer = null;
    Spry.Widget.Accordion.PanelAnimator.prototype.stepAnimation = function()
        ++this.stepCount;
        this.animate();
        if (this.stepCount < this.steps)
            this.start();
        else if (this.onComplete)
            this.onComplete();
    Spry.Widget.Accordion.PanelAnimator.prototype.animate = function()
        var i, obj;
        if (this.stepCount >= this.steps)
            for (i = 0; i < this.panelData.length; i++)
                obj = this.panelData[i];
                if (obj.panel != this.panel)
                    obj.content.style.height = "0px";
                obj.content.style.overflow = obj.overflow;
                obj.content.style.height = obj.toHeight + "px";
        else
            for (i = 0; i < this.panelData.length; i++)
                obj = this.panelData[i];
                obj.fromHeight += obj.increment;
                obj.content.style.height = obj.fromHeight + "px";

    On the bottom of yourpage you have this:
    var Accordion1 = new Spry.Widget.Accordion("Accordion1");
    Change it to this:
    var Accordion1 = new Spry.Widget.Accordion("Accordion1", { useFixedPanelHeights: false, defaultPanel: -1 });
    Ken Ford

  • Spry Accordion just stays open in IE8

    I'm using Spy 1.6.1 and Dreamweaver CS5.  The Spry Accordion menu on the left side of my page looks funky in IE and it's absolutely kiiiiiilling me.
    ~o~ On a PC using IE8 the panels all begin in the open position at first load and won't close no matter what.  This is WRONG!
    ~o~ On a Mac using Safari, FireFox and Opera the accordion is working fine with one panel opening at once.  This is CORRECT!
    Ahhh I'm pulling out my hair.  Previous threads have mentioned a similar problem but their solution has been to upgrade to Spry 1.6.1 and that's how I started off so presumably no issue for me.
    So what the heck am I doing wrong?  Thousand thanks for a moment of your time!
    The website with problems: www.documentarymakers.com
    Index of Spry Assets for this site: http://www.documentarymakers.com/SpryAssets/
    Adam

    Change the following line in your main document
    <script src="SpryAssets/SpryAccordion.js" type="text/javascript"></script>
    to
    <script src="http://labs.adobe.com/technologies/spry/widgets/accordion/SpryAccordion.js" type="text/javascript"></script>
    Either the online version of the JS is corrupt or there is a problem with version 0.17, Adobe uses version 0.15
    Gramps

  • Spry Accordion Menu Tab Link css - totally confused

    Thanks folks from an l-plater but I've totally confused myself trying to work this out and I'm hoping some fresh eyes will see the answer clear as day.  I've created a spry accordion menu with links in the actual panel tabs.  Menu and links all working fine - problem is in css styling, particularly panel tab link open and hover states which should be blue text over green background, same as non-link panel tabs.  You'll see from code that I've tried a few styles but can't get this to work.  I'm thinking I've totally overdone it and some styles are overriding others and solution is a simple deletion of some unnecessary or conflicting styles.
    Thanks so much in advance for your help - I just can't see for looking any more though I'm sure it can't be hard.
    <div id="sidebar1">
    <div id="Accordion1" class="Accordion">
      <div class="AccordionPanel">
        <div class="AccordionPanelTab"><a href="Index.html" onclick="window.location = this.href">Home</a></div>
      </div>
      <div class="AccordionPanel">
        <div class="AccordionPanelTab">Photo Gallery</div>
        <div class="AccordionPanelContent">
        <ul>
        <li><a href="PhotoGallery.html">Gallery 1</a></li>
        </ul>
        </div>
      </div>
      <div class="AccordionPanel">
        <div class="AccordionPanelTab">Unit Newsletters</div>
        <div class="AccordionPanelContent">
        <ul>
        <li><a href="Newsletter.html">February 2010</a></li>
        </ul>
        </div>
      </div>
      <div class="AccordionPanel">
        <div class="AccordionPanelTab"><a href="Sponsors.html" onclick="window.location = this.href">Sponsors</a></div>
      </div>
      <div class="AccordionPanel">
        <div class="AccordionPanelTab"><a href="Merchandise.html" onclick="window.location = this.href">Merchandise</a></div>
      </div>
      <div class="AccordionPanel">
        <div class="AccordionPanelTab"><a href="Links.html" onclick="window.location = this.href">Links</a></div>
      </div>
      <div class="AccordionPanel">
        <div class="AccordionPanelTab"><a href="Events.html" onclick="window.location = this.href">Events</a></div>
      </div>
      <div class="AccordionPanel">
        <div class="AccordionPanelTab">Forms</div>
        <div class="AccordionPanelContent">
        <ul>
        <li><a href="">Joining Instructions</a></li>
        <li><a href="">Enrolment</a></li>
        <li><a href="">Next of Kin</a></li>
        <li><a href="">Volunteer Blue Card</a></li>
        </ul>
        </div>
      </div>
      <div class="AccordionPanel">
        <div class="AccordionPanelTab"><a href="Contact.html" onclick="window.location = this.href">Contact</a></div>
      </div>
      <div class="AccordionPanel">
        <div class="AccordionPanelTab"><a href="LogIn.html" onclick="window.location = this.href">Log In</a></div>
        <div class="AccordionPanelContent">
        <ul>
        <li><a href="WhatsOn.html">Whats On</a></li>
        <li><a href="PSG.html">Parent Support Group</a></li>
        </ul>
        </div>
        </div>
      </div>
    </div>
    .AccordionPanel {
    margin: 0px;
    padding: 0px;
    .AccordionPanelTab {
    background-color: #036;
    border-bottom: 1px #93b747 solid;
    margin: 0px;
    padding-left: 10px;
    padding-top: 2px;
    padding-bottom: 2px;
    font-size: 12px;
    cursor: pointer;
    -moz-user-select: none;
    -khtml-user-select: none;
    text-decoration: none;
    .AccordionPanelTabOpen {
    color: #036;
    background-color: #93b747;
    display: block;
    text-decoration: none;
    .AccordionPanelTabHover {
    color: #036;
    background-color: #93b747;
    text-decoration: none;
    border-bottom: 1px solid #036;
    display: block;
    .AccordionPanelTab a {
    color: #93b747;
    margin: 0px;
    font-size: 12px;
    cursor: pointer;
    -moz-user-select: none;
    -khtml-user-select: none;
    text-decoration: none;
    display: block;
    .AccordionPanelTab a.open {
    font-color: #036;
    color: #036;
    background-color: #93b747;
    text-decoration: none;
    display: block;
    .AccordionPanelTab a.active {
    color: #036;
    background-color: #93b747;
    display: block;
    text-decoration: none;
    .AccordionPanelTab a.hover {
    color: #036;
    background-color: #93b747;
    font-weight: bold;
    text-decoration: none;
    display: block;
    .AccordionPanelTab a.close {
    color: #93b747;
    background-color: #036;
    text-decoration: none;
    display: block;
    .AccordionPanelContent {
    margin: 0px;
    padding-left: 10px;
    padding-top: 2px;
    padding-bottom: 12px;
    background: #fff;
    font-size: 12px;
    color: #036;
    font-weight: 500;
    .AccordionPanelContent ul li {
    margin-left: -40px;
    padding-top: 2px;
    padding-bottom: 2px;
    background: #fff;
    font-size: 12px;
    color: #036;
    font-weight: 500;
    text-decoration: none;
    list-style-type:none;
    list-style:none;
    .AccordionPanelContent ul li a:link {
    color: #036;
    text-decoration: none;
    list-style-type:none;
    list-style:none;
    .AccordionPanelContent ul li a:hover {
    color: #036;
    font-weight: bold;
    text-decoration: none;
    .AccordionPanelContent ul li a:visited {
    color: #036;
    text-decoration: none;
    .AccordionPanelOpen .AccordionPanelTab {
    color: #036;
    background: #93b747;
    border-bottom: 1px solid #036;
    .AccordionPanelOpen .AccordionPanelTab.a {
    color: #036;
    background: #93b747;
    border-bottom: 1px solid #036;
    .AccordionPanelOpen .AccordionPanelTabHover {
    color: #036;
    font-weight: bold;
    .AccordionPanelOpen.a .AccordionPanelTabHover.a {
    color: #036;
    font-weight: 600;
    .AccordionFocused .AccordionPanelTab {
    color: #036;
    font-weight: 600;
    a.AccordionFocused .AccordionPanelTab {
    color: #036;
    font-weight: 600;
    .AccordionFocused .AccordionPanelOpen .AccordionPanelTab {
    color: #036;
    font-weight: 600;
    a.AccordionFocused .AccordionPanelOpen .AccordionPanelTab {
    color: #036;
    font-weight: 600;

    Yes Beth, you're right and I've corrected my css - I think - problem with AccordionPanelTab link open and hover states still happening so css still wrong.  I've uploaded site so you can see what's happening (www.11acu.org).  All tab states should be as per Photo Gallery, Newsletters and Forms.  Hover state in tab links seem okay until mouse moves away from "a href" block - rest of tab area not working so its like the two styles, ie "AccordionPanelTab" and "AccordionPanelTab a:hover" are both working at the same time but I only want the latter to work.  Now I've probably got you confused as well! lol Apologies!  Recreated css for tab links below.  Html same as in original post.  Any help much appreciated.
    .AccordionPanelTab {
    color: #93b747;
    background-color: #036;
    border-bottom: solid 1px #93b747;
    margin: 0px;
    padding-left: 10px;
    padding-top: 2px;
    padding-bottom: 2px;
    font-size: 12px;
    text-decoration: none;
    cursor: pointer;
    -moz-user-select: none;
    -khtml-user-select: none;
    .AccordionPanelTab a {
    color: #93b747;
    background-color: #036;
    margin: 0px;
    padding-left: -10px;
    padding-top: -2px;
    padding-bottom: -2px;
    font-size: 12px;
    text-decoration: none;
    cursor: pointer;
    -moz-user-select: none;
    -khtml-user-select: none;
    display: block;
    .AccordionPanelTab a:link {
    color: #93b747;
    background-color: #036;
    margin: 0px;
    padding-left: -10px;
    padding-top: -2px;
    padding-bottom: -2px;
    font-size: 12px;
    text-decoration: none;
    cursor: pointer;
    -moz-user-select: none;
    -khtml-user-select: none;
    display: block;
    .AccordionPanelTab a:hover {
    color: #036;
    background-color: #93b747;
    margin: 0px;
    padding-left: -10px;
    padding-top: -2px;
    padding-bottom: -2px;
    font-size: 12px;
    text-decoration: none;
    cursor: pointer;
    -moz-user-select: none;
    -khtml-user-select: none;
    display: block;
    .AccordionPanelTab a:active {
    color: #036;
    background-color: #93b747;
    margin: 0px;
    padding-left: -10px;
    padding-top: -2px;
    padding-bottom: -2px;
    font-size: 12px;
    text-decoration: none;
    cursor: pointer;
    -moz-user-select: none;
    -khtml-user-select: none;
    display: block;
    .AccordionPanelOpen .AccordionPanelTab {
    color: #036;
    background-color: #93b747;
    border-bottom: solid 1px #036;
    text-decoration: none;
    .AccordionPanelTabHover {
    color: #036;
    background-color: #93b747;
    text-decoration: none;
    border-bottom: solid 1px #036;
    .AccordionPanelOpen .AccordionPanelTabHover {
    color: #036;
    background-color: #93b747;
    text-decoration: none;
    font-weight: bold;
    .AccordionFocused .AccordionPanelTab {
    color: #93b747;
    background-color: #036;
    text-decoration: none;
    .AccordionFocused .AccordionPanelOpen .AccordionPanelTab {
    color: #036;
    background-color: #93b747;
    border-bottom: solid 1px #036;
    text-decoration: none;

  • SPRY accordion widget IE8 ONLY issue

    hello everybody,
    i noticed a strange "jumpy" behavior while using the spry accordion widget -- this affects IE8 only (currently using 8.0.6001.18882 on vista), other browsers (including IE7 and IE8 forced into IE7 mode) work as expected. this issue seems to be related to the margin property of the accordion container...
    not shure whether this behavior is related to IE rendering or the spry javascript code itself... anyway i made NO changes to the spry script (my version is 0.15, 1.6.1, which i believe to be most recent one).
    the xhtml (strict) and css are perfectly valid (there might be some MINOR css hacks which are not related to the accordion itself). i do NOT use ANY padding on the inner container of the accordion (which would definetely make the spry js count the tween in odd way). the accordions (especially the main menu on the left) are little more complex, but they were built according to the spry widget document, found on the adobe spry website.
    so, here it is -- check the accordion on the left side (the bug seems to happen almost always while opening/closing the last BLUE "section" of the accordion, please play with the accordion for a while to reproduce it -- while the accordion closes, it "loses" it's bottom margin (i guess), what's even more wierd, everything gets back to place after you move a mouse):
    http://www.prazskematky.cz/home.php
    PLEASE NOTICE: since the website is still under development and i'm using a IE meta tag to force it into IE7 rendering, to reproduce this behavior please be shure to switch IE engine to IE8 standards mode
    well, we all now how IE handles css... so it's propably an IE bug -- anyway if you have encountered a similar issue of even better found a fix, please let know. (i don't consider a fix switching to another js library, i would like to use the spry, because of it's DW integration)
    many thanks,
    p.s.

    ross m. greenberg wrote:
    > Now however the entire .gif is not appearing in the
    accordion panel is expanded. I insert the graphic using a standard
    "menu insert/graphic/browse and select"
    >
    > the graphic file is not showing up properly on such an
    insert...
    Are you referring to what it looks like in Design view? If
    so, that's
    correct. Accordion panels have a fixed height. From memory, I
    think it's
    200px. However, if you test the page in a browser, you should
    see a
    scrollbar automatically generated on panels that have content
    that
    exceeds the height of the panel.
    If you want flexible-height panels in the accordion, you need
    to adjust
    both the CSS and the script that initializes the accordion. I
    have
    covered all the details in my "Essential Guide to Dreamweaver
    CS3" (and
    the forthcoming CS4 edition). You can probably find online
    tutorials as
    well. Try a Google search for Spry flexible height accordion.
    The accordion widget has been around since CS3, and it hasn't
    changed in
    CS4, so a Google search should bring up a lot of information.
    David Powers, Adobe Community Expert
    Author, "The Essential Guide to Dreamweaver CS3" (friends of
    ED)
    Author, "PHP Solutions" (friends of ED)
    http://foundationphp.com/

  • Spry Accordion widget

    Have a Dreamweaver question about the Spry Accordion widget.
    I am designing a website for a real estate company. I will have different pages set up as a state page with a sub-level of cities within the page. I am using the accordion widget for the cities. As you know, you click on the panel tab and the next panel drops up or down closing/opening the previous panel.
    What I would like to do is add an action anchor (view all properties) outside the spry widget to open all the panels at once if a client wanted to see the entire list. However, I would still want the functionality of the panels to be collapsible. Is this possible? Is there a bit of code restructuring I would have to do to the JavaScript?

    Try
    <!DOCTYPE html>
    <html>
    <head>
    <title>Untitled Document</title>
    <link href="SpryAssets/SpryAccordion.css" rel="stylesheet">
    <style>
    .openit .AccordionPanelContent {
      display: block !important;
      overflow: visible !important;
      height: auto !important;
    </style>
    </head>
    <body>
    <a href="#" class="openAll">open all</a> - <a href="#" class="closeAll">close all</a>
    <div id="Accordion1" class="Accordion" tabindex="0">
      <div class="AccordionPanel">
        <div class="AccordionPanelTab">Label 1</div>
        <div class="AccordionPanelContent">Content 1</div>
      </div>
      <div class="AccordionPanel">
        <div class="AccordionPanelTab">Label 2</div>
        <div class="AccordionPanelContent">Content 2</div>
      </div>
    </div>
    <script src="SpryAssets/SpryAccordion.js"></script>
    <script src="SpryAssets/SpryDomUtils.js"></script>
    <script>
    function MyOpenAllEventHandler() {
        Spry.$$("#Accordion1").addClassName("openit");
    function MyCloseAllEventHandler() {
        Spry.$$("#Accordion1").removeClassName("openit");
    Spry.$$(".openAll").addEventListener("click" , MyOpenAllEventHandler, false);
    Spry.$$(".closeAll").addEventListener("click" , MyCloseAllEventHandler, false);
    var Accordion1 = new Spry.Widget.Accordion("Accordion1");
    </script>
    </body>
    </html>
    The "!important" on these rules is necessary because the Accordion  widget places inline styles on the actual AccordionPanelContent elements  when opening and closing them. Since inline styles have a higher CSS  specificity then CSS class rules, "!important" is necessary to "trump"  the inline styles.
    Gramps

  • Spry Accordion Panels view incorrect in IE8

    I have a page set up using both spry menu and spry accordion panels. The problem is that in FireFox and Chrome, the pages view as they should. However, in IE, the panels on the accordion spread and are open, it doesn't view as it should. The test page is here www.sbcvote.us/index1.html the source code is below. My initial guess is that I have an open or not closed tag somewhere?
    <!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>Joe Paul Gonzalez San Benito County Clerk-Auditor-Recorder-Registrar of Voters</title>
    <meta name="keywords" content="Joe Paul Gonzalez, San Benito County, Clerk, Auditor, Recorder, Registrar of Voters, fppc form 460, reconveyance deed, deed of reconveyance, reconveyance, homepage, mechanics lien release, quit claim deed form, release of mechinics lien, form, san, reconveyance, county, deed, 460, california, fppc, nacimiento, trust, elections, ca, solictud, certifacadas, reporting, statements, nominees, handbook, contribution, joe, paul, gonzalez" />
    <meta name="description" content="Joe Paul Gonzalez San Benito County Clerk-Auditor-Recorder-Registrar of Voters" />
    <link href="scripts/style.css" rel="stylesheet" type="text/css" />
    <script src="/SpryAssets/menu/SpryMenuBar.js" type="text/javascript"></script>
    <script src="/SpryAssets/accordion/SpryAccordion.js" type="text/javascript"></script>
    <link href="/SpryAssets/menu/SpryMenuBarHorizontal_sbcvote.css" rel="stylesheet" type="text/css" />
    <link href="/SpryAssets/accordion/SpryAccordion_sbcvote.css" rel="stylesheet" type="text/css" />
    <script language="javascript" type="text/javascript">
    function clearText(field)
        if (field.defaultValue == field.value) field.value = '';
        else if (field.value == '') field.value = field.defaultValue;
    </script>
    </head>
    <body>
    <div id="wrapper">
        <div id="header"><!-- end of site_title -->
          <div id="header_right">
                <ul id="header_button">
                    <li><a href="#"><img src="images/home.jpg" alt="home" /></a></li>
                    <li><a href="#"><img src="images/contact.jpg" alt="contact us" /></a></li>
                </ul>
                <div class="cleaner"></div>
                <form action="#" method="get">
                    <input type="text" value="Enter a keyword here..." name="q" size="10" id="searchfield" title="searchfield" onfocus="clearText(this)" onblur="clearText(this)" />
                    <input type="submit" name="Search" value="" alt="Search" id="searchbutton" title="Search" />
                </form>
          </div>
        </div> <!-- end of header -->
        <div id="banner">
        <div id="banner_box">
            <ul>
            <li><a href="clerk.htm" ><span class="current"></span><img src="images/countyClerk.jpg" alt="San Benito County Clerk" /></a></li>
                <li><a href="auditor.htm"><span></span><img src="images/countyAuditor.jpg" alt="San Benito County Auditor" /></a></li>
                <li><a href="recorder.htm"><span></span><img src="images/countyRecorder.jpg" alt="San Benito County Recorder" /></a></li>
                <li><a href="http://results.sbcvote.us" target="_new"><span></span><img src="images/coRegistrar_results.jpg" alt="" /></a></li>
            </ul>
            </div>
        </div> <!-- end of banner -->
        <div id="menu">
          <ul id="MenuBar1" class="MenuBarHorizontal">
            <li><a class="MenuBarItemSubmenu" href="index.html">Home</a>
              <ul>
                <li><a href="#">Item 1.1</a></li>
                <li><a href="#">Item 1.2</a></li>
                <li><a href="#">Item 1.3</a></li>
              </ul>
            </li>
            <li><a href="registrar/candidateinfo.htm" class="MenuBarItemSubmenu">Candidate Info</a>
              <ul>
                <li><a href="candidate_forms_manuals.htm">Forms &amp; Manuals</a></li>
                <li><a href="pdf/forms/registrar/candidates/2010CandidateHandbook.pdf">2010 Candidate Handbook</a></li>
                <li><a href="registrar/form460.htm" class="MenuBarItemSubmenu">FPPC 460s</a>
                  <ul>
                    <li><a href="registrar/form460_all.htm">Candidate Form 460s</a></li>
                    <li><a href="registrar/2010_form460.htm">2010 Candidate 460 Forms</a></li>
                    <li><a href="registrar/2009_form460.htm">2009 Candidate 460 Form</a></li>
                    <li><a href="registrar/2008_form460.htm">2008 Candidate 460 Form</a></li>
                    <li><a href="registrar/2007_form460.htm">2007 Candidate 460 Form</a></li>
                  </ul>
                </li>
                <li><a href="candidate_reporting.htm">Reporting</a></li>
              </ul>
            </li>
            <li><a class="MenuBarItemSubmenu" href="registrar/votebymail.htm">Vote-By-Mail</a>
              <ul>
                <li><a class="MenuBarItemSubmenu" href="overseasvoting.htm">Overseas Voting</a>
                  <ul>
                    <li><a href="pdf/forms/registrar/votebymail/oversees_votebymail_request.pdf">Overseas Vote-By-Mail Request</a></li>
                    <li><a href="pdf/forms/registrar/votebymail/guide_military_overseas.pdf">Guide Military Overseas</a></li>
                    <li><a href="#">Untitled Item</a></li>
                  </ul>
                </li>
                <li><a href="mailvotestatus.htm">Ballot Status</a></li>
                <li><a href="pdf/forms/registrar/votebymail/votebymail_app_gen_eng.pdf">Application </a></li>
                <li><a href="pdf/forms/registrar/votebymail/votebymail_app_gen_SPAN.pdf"> Espa&ntilde;ol</a></li>
              </ul>
            </li>
            <li><a href="/registrar/registration.htm" class="MenuBarItemSubmenu">Register to Vote</a>
              <ul>
                <li><a href="registrar/national_vrc_notice.htm">Form English</a></li>
                <li><a href="http://www.sbcvote.us/registrar/national_vrc_notice_sp.htm">Espa&ntilde;ol</a></li>
                <li><a href="registrar/statement_distribution.htm">Distribution</a></li>
              </ul>
            </li>
            <li><a href="registrar/pollworker.htm" class="MenuBarItemSubmenu">Pollworker</a>
              <ul>
                <li><a href="registrar/pollworker.htm">Become a Pollworker</a></li>
                <li><a href="registrar/pollworker.htm#student">Students</a></li>
                <li><a href="registrar/pollworker.htm#student">State Employees</a></li>
              </ul>
            </li>
            <li><a href="registrar/hava_faqs.htm" class="MenuBarItemSubmenu">HAVA</a>
              <ul>
                <li><a href="registrar/hava_complaint_procedure.htm">Complaint Procedure</a></li>
                <li><a href="registrar/hava_compliancemanual.htm">Compliance Manual</a></li>
              </ul>
            </li>
    </ul>
    </div> <!-- end of menu -->
        <div id="content_wrapper">
        <div id="left_sidebar">
            <div class="box">
                <h2><span></span>Click on a Tab for Info</h2>
                    <div class="body">
                        <ul class="side_menu">
                          <li>
                            <div id="Accordion1" class="Accordion" tabindex="0">
                              <div class="AccordionPanel">
                                <div class="AccordionPanelTab">Vote-By-Mail (VBM)</div>
                                <div class="AccordionPanelContent"><a href="/registrar/votebymail.htm">Vote-By-Mail Voting</a><a href="/pdf/forms/registrar/votebymail/overseas_votebymail_request.pdf">Overseas VBM Request</a>
                                  <a href="/pdf/forms/registrar/votebymail/VBM_Application.pdf">Application for Permanent VBM </a><a href="/pdf/forms/registrar/votebymail/guide_military_overseas.pdf">Guide to Military Voting</a>
                                  <a href="/pdf/forms/registrar/votebymail/votebymail_app_general_county_fill.pdf">Application VBM General Election</a><a href="/registrar/mailvotestatus.htm">Did My VBM Ballot Get Counted?</a><br />
                                    <br />
                                  <br />
    </div>
                              </div>
                              <div class="AccordionPanel">
                                <div class="AccordionPanelTab">Voto Por Correo</div>
                                <div class="AccordionPanelContent"><a href="/registrar/spanish/voto.por.correro.html">Voto Por Correro</a><a href="/registrar/spanish/overseasvoting.SPAN.html">Votante Información Extranjero</a><a href="/registrar/mailvotestatus.htm">Cheque se recibimos su voto por correro</a> <a href="/pdf/forms/registrar/votebymail/VBM_ApplicationSPAN.pdf">Solicitud de Balota de Votación por correo en California</a></div>
                              </div>
                              <div class="AccordionPanel">
                                <div class="AccordionPanelTab">Voter Information</div>
                                <div class="AccordionPanelContent"> <a href="/registrar/national_vrc_notice.htm">Register to Vote</a>
                                  <a href="http://www.voterguide.sos.ca.gov/pdf/english/" target="_new">Voter Information Guide Nov 2010</a>
                                  <a href="/pdf/forms/registrar/register/YourRightToVote_ENG.pdf">Your Right to Vote</a>                              <a href="/pdf/forms/registrar/register/eng-list-of-certified-candidates11.10.pdf">Certified Candidates Nov 2010</a>
                                  <a href="/pdf/forms/registrar/register/TimeOfftoVote_ENG.pdf">Time Off to Vote </a><br />
                                  <br />
                                </div>
                              </div>
                              <div class="AccordionPanel">
                                <div class="AccordionPanelTab">Votante Informaci&oacute;n</div>
                                <div class="AccordionPanelContent"> <a href="/pdf/forms/registrar/register/Guide_Voting_SPAN.pdf" target="_new">Gu&iacute;a para Votar</a> <a href="/registrar/national_vrc_notice_sp.htm">Insc&iacute;ibase para Votar</a> <a href="/pdf/forms/registrar/register/Voter-bill-of-rights.SPAN.pdf">Declaración  derechos de  Votantes</a> <a href="/pdf/forms/registrar/register/spanish-vig-nov-2010.pdf">Gu&iacute;a Oficial  Informaci&oacute;n Nov 2010</a> <a href="/pdf/forms/registrar/register/spanish-list-of-certified-candidates11.10.pdf">Lista Candaditos Certificados 2010 </a><a href="/pdf/forms/registrar/register/TimeOfftoVote_SPAN.pdf">Tiempo Libre Para Votar</a></div>
                              </div>
    <div class="AccordionPanel">
    <div class="AccordionPanelTab">For the Candidates</div>
                                <div class="AccordionPanelContent">Blank 460 Forms<br />
                                  Candidates 460 Forms Index<br />
                                2010 Candidate Handbook<br />
                                2010 Calendar </div>
                            </div>
                              <div class="AccordionPanel">
                                <div class="AccordionPanelTab">Nov 2, 2010 Election</div>
                                <div class="AccordionPanelContent">Election Results Page<br />
                                  Canvass of the Vote
                                    <br />
                                    Vote-By-Mail Ballot Look up<br />
                                    State Vote Pamphlet<br />
                                    Sample Ballot Statewide
                                </div>
                              </div>
                              <div class="AccordionPanel">
                                <div class="AccordionPanelTab">Label 7</div>
                                <div class="AccordionPanelContent">Content 7</div>
                              </div>
                              <div class="AccordionPanel">
                                <div class="AccordionPanelTab">Label 8</div>
                                <div class="AccordionPanelContent">Content 8</div>
                              </div>
                            </div>
                          </li>
                            <li> <a href="#">Lorem ipsum dolor</a></li>
                    <li><a href="#">Donec bibendum semper</a></li>
                            <li><a href="#">Proin tincidunt dapibus</a></li>
                            <li><a href="#">Nulla consequat</a></li>
                            <li><a href="#">In enim justo</a></li>
                            <li><a href="#">Aenean vulputate</a></li>
                            <li><a href="#">Etiam ultricies</a></li>
                            <li><a href="#">Nullam vehicula egestas </a></li>             
                        </ul>
    </div>
                <div class="box_bottom"><span></span></div>
                </div>
                <div class="box">
                <h2><span></span>Our Departments</h2>
                    <div class="body">
              <ul class="side_menu">
                            <li><a href="clerk.html">County Clerk</a></li>
                            <li><a href="auditor.html">County Auditor</a></li>
                            <li><a href="recorder.html">County Recorder</a></li>
                            <li><a href="index.html">Registrar of Voters</a></li>
                            <li><a href="http://results.sbcvote.us" target="_new">Election Results</a></li>
                            <li></li>
                            <li></li>
                            <li></li>
    </ul>
                    </div>
                <div class="box_bottom"><span></span></div>
                </div>
            </div> <!-- end of left_sidebar -->
            <div id="content">
    <div class="box">
                <h2><span></span>Welcome to the San Benito County Registrar of Voters</h2>
                    <div class="body">
                        <p> Welcome to our new and updated website for the County of San Benito Clerk-Auditor-Recorder- Registrar of Voters. </p>
                  </div>
                <div class="box_bottom"><span></span></div>
                </div>
                <div class="box">
                <h2><span></span>News and Updates</h2>
                    <div class="body">
                        <div class="news_box">
                          <h3><a href="http://results.sbcvote.us" target="_new">November 2, 2010 Election Results</a></h3>
                            <p>Up to the minute election results for San Benito County will be uploaded to our website at the close of the polls on Tuesday, November 2, 2010 at<a href="http://results.sbcvote.us" target="_new"> http://results.sbcvote.us.</a></p>
                          <div class="cleaner"></div>
                      </div>
                  <div class="news_box">
                    <h3><a href="registrar/mailvotestatus.htm">Vote-By-Mail Ballots</a>
                    </h3>
                    <p>Verify that your Vote-By-Mail Ballot has been received <a href="/registrar/mailvotestatus.htm">here.</a> To insure that your vote is counted, drop off your VBM ballot to our offices on the second floor of the courthouse building room 406 BEFORE Tuesday, Nov. 2, 2010.</p>
                        <div class="cleaner"></div>
                    </div>
                  <div class="news_box">
                        <a href="#"><img class="news_image" src="images/image_08.jpg" alt="image" /></a>
                   <h3><a href="#">Auditor's Department</a></h3>
                        <p> Praesent rhoncus faucibus nibh, non molestie lectus sagittis sed. Praesent ac sem lectus. Cras molestie elit sit amet velit tincidunt imperdiet. Mauris nulla purus.</p>
                    <div class="cleaner"></div>
                    </div>
                    <div class="more float_r"><a href="#">View All</a></div>
                    <div class="cleaner"></div>
                    </div>
                <div class="box_bottom"><span></span></div>
                </div>
            </div> <!-- end of content -->
           <div id="right_sidebar">
            <div class="box">
                <h2 align="center"><span></span>Joe Paul Gonzalez</h2>
                    <div class="body">
                      <ul class="side_menu">
                            <li></li>
                            <li></li>
                            <li><img src="images/joepaul_new.jpg" width="207" height="262" alt="joe paul gonzalez" /></li>
                            <li></li>
                            <li></li>
                            <li></li>
                            <li></li>
                            <li><a href="#">County Clerk-Auditor-Recorder</a></li>                   
                      </ul>
                  </div>
                <div class="box_bottom"><span></span></div>
                </div>
                <div class="sidebar_box">
          <a href="http://results.sbcvote.us" target="_new"><img src="images/results.jpg" alt="Election Results" /></a>            </div>
                <div class="sidebar_box">
                <a href="#"><img src="" alt="City Zoo" /></a>            </div>
          </div> <!-- end of right_sidebar -->
            <div class="cleaner"></div>
        </div> <!-- end of content_wrapper -->
    </div> <!-- end of wrapper -->
    <div id="footer_wrapper">
    <div id="footer">
            <ul class="footer_menu">
            <li><a href="#">Homepage</a></li>
                <li><a href="#">Site Map</a>
                </li>
                <li><a href="#">Clerk</a>
                </li>
                <li><a href="#">Auditor</a></li>
                <li><a href="#">Recorder</a></li>
                <li><a href="#">Registrar of Voters</a></li>
                <li><a href="#">Election Results</a></li>
                <li><a href="#">Forms</a></li>
                <li class="last_menu"><a href="#">Contact</a></li>
            </ul>
            Copyright © 2010 <a href="http://www.netwidesales.com" target="_new">NetWideSales</a> |
            <a href="http://www.netwidesales.com" target="_new">Designed by Irma C. Gonzalez</a> |
        <a href="http://www.joepaulgonzalez.com" target="_new">Joe Paul Gonzalez</a> </div> <!-- end of footer -->
    </div> <!-- end of footer_wrapper -->
    <script type="text/javascript">
    var MenuBar1 = new Spry.Widget.MenuBar("MenuBar1", {imgDown:"/images/menubar/SpryMenuBarDownHover.gif", imgRight:"/images/menubar/SpryMenuBarRightHover.gif"});
    var Accordion1 = new Spry.Widget.Accordion("Accordion1");
    </script>
    </body>
    </html>
    I appreciate any help here, it really doesn't make sense to me, it did work for a few viewing in IE and I must have changed something by mistake?
    Thanks again.

    I added a set width to the accordion css and that solved the problem of the widget running across the page. The IE issue appears to be an ongoing issue with IE. If a viewer has IE8, then hitting the compatibility button on the menu bar will solve the viewing problem. If not, it doesn't view correctly. It views fine on other browsers (Chrome, etc). Problem is how many people will know to hit the compatibility button?
    Thank you for your help, I appreciate the time taken.

  • DW Tutorial Question (Spry Accordion Widget) Beginner... :-(

    Hi, I've just finished this tutorial (http://www.adobe.com/devnet/dreamweaver/articles/table_to_css_pt2.html) but have a problem with my Spry Accordion Widget, when I preview the site my footer moves when I select a different panels in the widget, I've read back and checked code/css but I still can't sus it out (Don't laugh if it's something obvious!) Please can anyone help me? I've copied code/CSS below.
    A BIG THANKS IN ADVANCE!!
    INDEX...
    <!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>The Yacht Club</title>
    <link href="main.css" rel="stylesheet" type="text/css" />
    <!--[if IE 5]>
    <style type="text/css">
    /* place css box model fixes for IE 5* in this conditional comment */
    #sidebar1 { width: 230px; }
    </style>
    <![endif]--><!--[if IE]>
    <style type="text/css">
    /* place css fixes for all versions of IE in this conditional comment */
    #sidebar1 { padding-top: 30px; }
    #mainContent { zoom: 1; }
    /* the above proprietary zoom property gives IE the hasLayout it needs to avoid several bugs */
    </style>
    <![endif]-->
    <script src="SpryAssets/SpryAccordion.js" type="text/javascript"></script>
    <link href="SpryAssets/SpryAccordion.css" rel="stylesheet" type="text/css" />
    </head>
    <body>
    <div id="container">
      <div id="header"><img src="images/logo.jpg" width="290" height="144" />
        <!-- end #header -->
      </div>
      <div id="sidebar1">
        <h3>Welcome</h3>
        <ul id="nav"><li><a href="javascript:;">Home</a></li><li><a href="javascript:;">About Us</a></li><li><a href="javascript:;">Membership</a></li><li><a href="javascript:;">Our Boats</a></li><li><a href="javascript:;">Current Races</a></li><li><a href="javascript:;">Contact Us</a></li>
        </ul>
        <div id="Accordion1" class="Accordion" tabindex="0">
          <div class="AccordionPanel">
            <div class="AccordionPanelTab">Atlantic Ocean</div>
            <div class="AccordionPanelContent">Donec eu mi sed turpis feugiat feugiat. Integer turpis arcu, pellentesque  eget, cursus et, fermentum ut, sapien. Fusce metus mi, eleifend  sollicitudin, molestie id, varius et, nibh. Donec nec libero.</div>
          </div>
    <div class="AccordionPanel">
            <div class="AccordionPanelTab">Pacific Ocean</div>
            <div class="AccordionPanelContent">Donec eu mi sed turpis feugiat feugiat. Integer turpis arcu, pellentesque  eget, cursus et, fermentum ut, sapien. Fusce metus mi, eleifend  sollicitudin, molestie id, varius et, nibh. Donec nec libero.</div>
          </div>
          <div class="AccordionPanel">
            <div class="AccordionPanelTab">Indian Ocean</div>
            <div class="AccordionPanelContent">Donec eu mi sed turpis feugiat feugiat. Integer turpis arcu, pellentesque  eget, cursus et, fermentum ut, sapien. Fusce metus mi, eleifend  sollicitudin, molestie id, varius et, nibh. Donec nec libero.</div>
          </div>
        </div>
        <p> </p>
      <!-- end #sidebar1 --></div>
      <div id="mainContent">
        <h1> Luxury Yachts</h1>
        <p><img src="images/sailboat.jpg" alt="Sailboat" width="136" height="310" class="fltrt" />Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Praesent aliquam,  justo convallis luctus rutrum, erat nulla fermentum diam, at nonummy quam  ante ac quam. Maecenas urna purus, fermentum id, molestie in, commodo  porttitor, felis. Nam blandit quam ut lacus. Quisque ornare risus quis  ligula. Phasellus tristique purus a augue condimentum adipiscing. Aenean  sagittis. Etiam leo pede, rhoncus venenatis, tristique in, vulputate at,  odio. Donec et ipsum et sapien vehicula nonummy. Suspendisse potenti. Fusce  varius urna id quam. Sed neque mi, varius eget, tincidunt nec, suscipit id,  libero. In eget purus. Vestibulum ut nisl. Donec eu mi sed turpis feugiat  feugiat. Integer turpis arcu, pellentesque eget, cursus et, fermentum ut,  sapien. Fusce metus mi, eleifend sollicitudin, molestie id, varius et, nibh.  Donec nec libero.</p>
        <h2>Sail to the Bahamas </h2>
        <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Praesent aliquam,  justo convallis luctus rutrum, erat nulla fermentum diam, at nonummy quam  ante ac quam. Maecenas urna purus, fermentum id, molestie in, commodo  porttitor, felis. Nam blandit quam ut lacus. Quisque ornare risus quis  ligula. Phasellus tristique purus a augue condimentum adipiscing. Aenean  sagittis. Etiam leo pede, rhoncus venenatis, tristique in, vulputate at, odio.</p>
    <!-- end #mainContent --></div>
    <!-- This clearing element should immediately follow the #mainContent div in order to force the #container div to contain all child floats --><br class="clearfloat" />
      <div id="footer">
        <p>&copy; 2009 Luxury Yachts – bring a cup for the bailout</p>
      <!-- end #footer --></div>
    <!-- end #container --></div>
    <script type="text/javascript">
    <!--
    var Accordion1 = new Spry.Widget.Accordion("Accordion1");
    //-->
    </script>
    </body>
    </html>
    MAIN CSS...
    @charset "UTF-8";
    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;
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 100%;
    background-color: #FDFDFD;
    background-image: url(images/body_BG.jpg);
    background-repeat: repeat-x;
    h1, h2, h3 {
    font-weight: normal;
    color: #00583F;
    h1 {
    font-size: 140%;
    h2 {
    font-size: 130%;
    h3 {
    font-size: 120%;
    #container {
    width: 780px;
    margin: 0 auto;
    text-align: left;
    border-top-width: 0px;
    border-right-width: 0px;
    border-bottom-width: 0px;
    border-left-width: 0px;
    border-top-style: none;
    border-right-style: none;
    border-bottom-style: none;
    border-left-style: none;
    background-image: url(images/container_bg.gif);
    background-repeat: repeat-y;
    #header {
    background-color: #DDDDDD;
    background-image: url(images/headerBG.jpg);
    background-repeat: no-repeat;
    padding-top: 0;
    padding-right: 10px;
    padding-bottom: 0;
    padding-left: 0px;
    #sidebar1 {
    float: left; /* since this element is floated, a width must be given */
    width: 200px; /* the background color will be displayed for the length of the content in the column, but no further */
    padding: 15px 10px 15px 20px;
    ul#nav {
    background-image: url(images/buoy.jpg);
    background-repeat: no-repeat;
    background-position: left bottom;
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 20px;
    margin-left: 0px;
    padding-top: 0px;
    padding-right: 0px;
    padding-bottom: 153px;
    padding-left: 0px;
    list-style-type: none;
    #nav li a {
    font-size: 90%;
    color: #FFF;
    text-decoration: none;
    background-color: #09553F;
    display: block;
    padding: 4px;
    border-bottom-width: 1px;
    border-bottom-style: solid;
    border-bottom-color: #3574A7;
    #nav li a:hover, #nav li a:active, #nav li a:focus {
    color: #123464;
    background-color: #B7DAD8;
    #mainContent {
    margin: 0 0 0 250px; /* the left margin on this div element creates the column down the left side of the page - no matter how much content the sidebar1 div contains, the column space will remain. You can remove this margin if you want the #mainContent div's text to fill the #sidebar1 space when the content in #sidebar1 ends. */
    padding: 0 20px; /* remember that padding is the space inside the div box and margin is the space outside the div box */
    #mainContent p, #sidebar1 p, #footer p {
    font-size: 85%;
    line-height: 1.4;
    #footer {
    background-color: #00593D;
    padding-top: 10px;
    padding-right: 0px;
    padding-bottom: 10px;
    padding-left: 270px;
    #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 */
    color: #FFF;
    .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;
    SPRY CSS...
    @charset "UTF-8";
    /* SpryAccordion.css - version 0.4 - Spry Pre-Release 1.6.1 */
    /* Copyright (c) 2006. Adobe Systems Incorporated. All rights reserved. */
    /* This is the selector for the main Accordion container. For our default style,
    * we draw borders on the left, right, and bottom. The top border of the Accordion
    * will be rendered by the first AccordionPanelTab which never moves.
    * If you want to constrain the width of the Accordion widget, set a width on
    * the Accordion container. By default, our accordion expands horizontally to fill
    * up available space.
    * The name of the class ("Accordion") used in this selector is not necessary
    * to make the widget function. You can use any class name you want to style the
    * Accordion container.
    .Accordion {
    overflow: hidden;
    border-right-width: 1px;
    border-bottom-width: 1px;
    border-left-width: 1px;
    border-right-style: solid;
    border-bottom-style: solid;
    border-left-style: solid;
    border-right-color: #7C9297;
    border-bottom-color: #7C9297;
    border-left-color: #7C9297;
    /* This is the selector for the AccordionPanel container which houses the
    * panel tab and a panel content area. It doesn't render visually, but we
    * make sure that it has zero margin and padding.
    * The name of the class ("AccordionPanel") used in this selector is not necessary
    * to make the widget function. You can use any class name you want to style an
    * accordion panel container.
    .AccordionPanel {
    margin: 0px;
    padding: 0px;
    /* This is the selector for the AccordionPanelTab. This container houses
    * the title for the panel. This is also the container that the user clicks
    * on to open a specific panel.
    * The name of the class ("AccordionPanelTab") used in this selector is not necessary
    * to make the widget function. You can use any class name you want to style an
    * accordion panel tab container.
    * NOTE:
    * This rule uses -moz-user-select and -khtml-user-select properties to prevent the
    * user from selecting the text in the AccordionPanelTab. These are proprietary browser
    * properties that only work in Mozilla based browsers (like FireFox) and KHTML based
    * browsers (like Safari), so they will not pass W3C validation. If you want your documents to
    * validate, and don't care if the user can select the text within an AccordionPanelTab,
    * you can safely remove those properties without affecting the functionality of the widget.
    .AccordionPanelTab {
    background-color: #00583F;
    margin: 0px;
    padding: 2px;
    cursor: pointer;
    -moz-user-select: none;
    -khtml-user-select: none;
    color: #FFF;
    border-top-width: 1px;
    border-bottom-width: 1px;
    border-top-style: solid;
    border-bottom-style: solid;
    border-top-color: #7C9297;
    border-bottom-color: #7C9297;
    /* This is the selector for a Panel's Content area. It's important to note that
    * you should never put any padding on the panel's content area if you plan to
    * use the Accordions panel animations. Placing a non-zero padding on the content
    * area can cause the accordion to abruptly grow in height while the panels animate.
    * Anyone who styles an Accordion *MUST* specify a height on the Accordion Panel
    * Content container.
    * The name of the class ("AccordionPanelContent") used in this selector is not necessary
    * to make the widget function. You can use any class name you want to style an
    * accordion panel content container.
    .AccordionPanelContent {
    overflow: auto;
    margin: 0px;
    height: 200px;
    padding-top: 5px;
    padding-right: 5px;
    padding-bottom: 5px;
    padding-left: 5px;
    /* This is an example of how to change the appearance of the panel tab that is
    * currently open. The class "AccordionPanelOpen" is programatically added and removed
    * from panels as the user clicks on the tabs within the Accordion.
    .AccordionPanelOpen .AccordionPanelTab {
    background-color: #FFF;
    color: #005b3E;
    /* This is an example of how to change the appearance of the panel tab as the
    * mouse hovers over it. The class "AccordionPanelTabHover" is programatically added
    * and removed from panel tab containers as the mouse enters and exits the tab container.
    .AccordionPanelTabHover {
    color: #AAC7CE;
    .AccordionPanelOpen .AccordionPanelTabHover {
    color: #555555;
    /* This is an example of how to change the appearance of all the panel tabs when the
    * Accordion has focus. The "AccordionFocused" class is programatically added and removed
    * whenever the Accordion gains or loses keyboard focus.
    .AccordionFocused .AccordionPanelTab {
    background-color: #00583F;
    color: #FFF;
    /* This is an example of how to change the appearance of the panel tab that is
    * currently open when the Accordion has focus.
    .AccordionFocused .AccordionPanelOpen .AccordionPanelTab {
    background-color: #FFF;
    color: #00583F;
    Apologies in advance if I'm asking a daft question!!

    Hi,
    using your source code, I couldn't find a really inserted "Spry Accordion". If I do that (translated from german DW) > Insert > Spry > Spry Accordion, I'll find in my DW source code something like that:
      <div id="Accordion1" class="Accordion" tabindex="0">
        <div class="AccordionPanel">
          <div class="AccordionPanelTab">Bezeichnung 1</div>
          <div class="AccordionPanelContent">Inhalt 1</div>
        </div>
        <div class="AccordionPanel">
          <div class="AccordionPanelTab">Bezeichnung 2</div>
          <div class="AccordionPanelContent">Inhalt 2</div>
        </div>
      </div>
    and in design view:
    Please control your DW-entries.
    Hans-G.

  • Spry Accordion Widget hiccups and more

    Hi, I am using the Spry Accordion Widget on my website and have the following problems:
    1. Is there a way for the accordion movement not to affect the images that are placed below it. For example, I have the accordion placed on top of 3 different logos. Whenever, the accordion panels move up and down (in use) all the contents (below the accordion) moves with it. I don't want the logos to move up and down whenever someone clicks on the panels. How do I make the logos stationary so its placements won't change?
    I don't want to use an ap div tag because that would force my website to be in a fix position on a page. All I have been using to position my graphics are div tags and floats; no ap div tags. If you resize the browser window you will see that my website is somewhat elastic. Meaning, the graphics are always in the center of the page regardless of the size of the browser window—this is something I want to keep.
    Please go here for better understanding: http://meinaco.net/tblLists.html
    2. When one of the accordion tab is clicked there seems to be some kind of hiccup/jump/jerky (up and down movement) before it settles/stops. Is there a way to fix that? I noticed the accordion moves up and down smoothly prior to my inserting the images into the tab panels. To be clear, the images I am referring to are the brown horizontal lines with white words on a green background. Do these images have anything to do with this problem?
    3. When the 1st tab (the restaurant panel) is open and another tab is selected, the restaurant panel displays large incorrectly styled text for a brief second as it closes to allow the other panel to open. I know it has something to do with my style sheet but I can't figure out what is causing it. I checked my css files and it seems they all have the correct size. To see this problem reoccur please do the following:
    Make sure the restaurant panel is open then click on another panel (one of the 3 panels). As you click on the second panel pay attention to the text that sits inside the restaurant panel. You will see that large minus leading text will appear for a split second.
    4. When I run my webpage (url mentioned above) on Safari 4.0.3 there seems to be a blue line outlining the whole accordion widget. This outline doesn't exist on Firefox nor on Opera. Please see attached image for clarity.
    Any suggestions or help on any of these problems is greatly appreciated! Thank you in advance.
    Meina
    I hope someone can help me resolve or give me suggestions for the 1st and 2nd problems at the very least.

    <div class="AccordionPanelContent">Castaway the: Restaurant<br />
                  1250 Harvard Rd.<br />
                  Burbank, CA 91501<br />
                  - www.castawayrestaurant.com - (818) 848-6691</p>
    Oops!
    Missing the opening <p>
    I didn't find it, the validator did.
    Martin

Maybe you are looking for

  • I can´t use my creative cloud plan, that I paid, because haven´t the serial number?

    I can´t use my creative cloud plan, because haven´t the serial number? I have a mac pro. I paid the plan 2 months ago.

  • Problem with error code 401

    Hi I had a problem yesterday with my receiver determination... I had an XICACHE update error along with SAP:AdditionalText>Error when reading HTTP destination: INTEGRATION_DIRECTORY_HMI.</SAP:AdditionalText>   <SAP:ApplicationFaultMessage namespace="

  • Problem importing video to iTunes

    So I have an entire season of a TV show that I've actually had on iTunes before and I've been able to put in some of the episodes but not all of them...I was wondering if there might be something in my settings that is preventing them from being adde

  • Transparency flattening compression quality

    Hi, In Acrobat 9, an important option was missing for transparency flattening: the compression quality setting. I found that it is now available in Acrobat XI. When I saw that, I thought that my problems with flattening were a thing of the past. Well

  • Swatch / pattern alignment

    I have a pattern I use frequently that is a B&W diagonal stripe. This is used in fairly small areas and for print (as shading for bar graphs and such). Recently my client noted that where the pattern tiles, the ends of the lines do not align perfectl