Dreamweaver cs3 spry collapsible panel, can it go verticle?

I'm trying to create an online menu for a restaurant and I want the spry collapsible menu to extend upward instead of dropping down after clicking the tab.  I have been searching for two days now and cannot seem to find any way to manipulate the script in order to create the desired effect.
Any help is greatly appreciated, thanks again.
-NJP

My apologies for the previous post, another senior moment.
Without touching the JS, the best way is to work with the CSS to achieve what you want although this will comprimise the workings of the widget. Have a look at the following
<!DOCTYPE html>
<meta charset="utf-8">
<title>Untitled Document</title>
<link href="SpryAssets/SpryCollapsiblePanel.css" rel="stylesheet">
<body>
<div id="CollapsiblePanel1" class="CollapsiblePanel" style="margin-top: 150px;"> /*to reserve space for the panel*/
  <div class="CollapsiblePanelTab" tabindex="0">Tab</div>
  <div class="CollapsiblePanelContent" style="margin-top: -8.7em;">/*adjust to suit*/
      <ul>
        <li>Lorem ipsum dolor sit amet</li>
        <li>Consectetur adipisicing elit</li>
        <li>Sed do eiusmod tempor incididunt</li>
        <li>Ut labore et dolore magna aliqua</li>
        <li>Ut enim ad minim veniam</li>
      </ul>
  </div>
</div>
<script src="SpryAssets/SpryCollapsiblePanel.js"></script>
<script>var CollapsiblePanel1 = new Spry.Widget.CollapsiblePanel("CollapsiblePanel1");</script>
</body>
Gramps

Similar Messages

  • Link to tabs in spry collapsible panel work in IE-8; not Firefox or Safari

    I have little experience with Spry. I've asked my question on the user forum in Dreamweaver several times with no response. I am hoping that someone somewhere in the Adobe community can help me resolve this issue.
    I created links from the top of a page to the tabs of a spry collapsible panel underneath.
    In IE-8, on one page, with a small collapsiable panel, clicking the link creates a rollover effect on the appropriate panel. This effect works wonderfully for my purposes.On another page, with a long collapsible panel, clicking the link jumps the user to the panel AND creates a rollover effect. Perfect.
    In Firefox and Safari, clicking the link does nothing. If I right-click the link in Firefox, I create a duplicate of the page.
    I am using Windows XP and Dreamweaver CS4
    http://www.judydiamondstone.net/Writing.html
    click any of the links in the first section of the page
    Thanks.

    Arnout, Thank you so much for the guidance!
    My code now looks like this:
    (Click the first tab
    below to open; click to close.)
    but it still doesn't work
    (I still like the error effect in IE!)
    Do I need to add to the CSS or JS script that comes with the spry widget?
    I am accessing all the tutorials I can find, including a very clear
    explanation of event handlers in a Safari online search but I'm obviously
    missing one or more basic concepts.
    Page with new code on the
    elements:
    http://www.judydiamondstone.net/Writing.html

  • Spry Collapsible Panel at bottom of page - how to make the browser scrolldown automatically

    The question is -
    i have a collapsible panel at the bottom of my page that I'm using as a footer menu.
    It is 200px tall. The visitor clicks on "FIND OUT MORE", then the panel opens 200px tall.
    I want the viewing area of browser to focus on the content of this panel, and automatically scroll down 200px to accomodate the new real estate at the bottom of the page.
    Now they click on it, but then have to manually scroll down.
    How can I do this? What do I add to the Spry Collapsible Panel js scripts?
    I tried using a tag at the bottom of the 200px but can't get it to work correctly.
    Dreamweaver CS5.
    thanks

    I have been closing IE and reopening it for 7 months now. I don't of any other way to reload an applet.
    Jason

  • Spry collapsible panel - panel (link) border issue

    Hi folks. I'm new to spry and I'm inserting a spry collapsible panel into a web page in Dreamweaver CS4. It all works fine but i have this very ugly border around the panel tab (the link that you click to open the panel). In frefox its a dotted line and in safari its a blue border. I havent had change to check this in other browsers/platforms. (I'm using a mac) I've read that its an accessabilty thing? which can be overcome in a different way. I have to get rid of this border as it completely spoils the design of the site..
    Anyone know how to remove this?
    Thanks in advance :-)

    Hi, I asked that same question a minute ago, then I saw your solution you wrote to someone else previously.
    Works for me too!
    Thanks for solving it!
    Here is another question if you can help...
    I currently have  ">>read more" at the end of the text in my top content tab panel, so the user knows to click and read more in a lower panel.
    I want that ">>read more" text to disappear when it is clicked and lower content section is open.
    And then a "read less" to appear so user knows to click the top tab content to close the bottom panel.
    Can this be done using this Spry Collapsible technique?
    Thanks!

  • How to make Spry Collapsible Panels open one at a time?

    Hello,
    I am using CS5 and want to use the spry collapsible panels. What I notice (and I think this wasn't the case in cs3) is that all panels can be open at the same time. I don't want that happen. I only want one panel to be open at a time. If someone clicks on a panel that is closed, I want the current panel to close and the one they clicked on to open. I don't want multiple panels to be opne at once. How can I do this? I am not a web developer by any means, so please be easy on me with code. I think in CS3 it used to work this way. Any help would be appreciated! Thank you in advance!

    GRAMPS!! That's it!! It was the accordian panel I had used in the past!!!! Oh, thank you, I was driving myself crazy as to why it wasn't working the way I had remembered!!!!!!!! THANK YOU!!
    I was told you would probably help me find the right answer by Hans-g!
    Thanks again!

  • Need help with Spry Collapsible panels

    I'm fairly inexperienced with Dreamweaver (CS4) and especially new to the Spry feature, so bear with me... I need all the help I can get! I've inserted six Spry collapsible panels to an HTML page and uploaded everything (including SpryCollapsiblePanel.css and SpryCollapsiblePanel.js), but they're automatically displaying as open and I can't click on them or close them. I'd like them to be closed until selected and opened.
    What am I doing wrong?
    Here's the URL: http://www.nicolegriffith.com/trustm.html
    Thank you!

    I just looked at your code, and your SpryAssets content is not there. This is the extent of your SpryCollapsablePanel.js
    <?xml version="1.0" encoding="iso-8859-1"?>
    <!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" xml:lang="en" lang="en">
    <head>
      <title>404 - Not Found</title>
    </head>
    <body>
      <h1>404 - Not Found</h1>
    </body>
    </html>
    Make sure your spry assests folder is in your root directory and upload the files once you know they are where they should be.
    Gary

  • Google map inside the spry collapsible panel

    So this time I've bumped into interesting 'bug'. I've placed the google map inside the spry collapsible panel. Panel is set to the closed mode on load of page. When I open the tab, map appears, but address marker is hidden behind the top left corner. If I place the same map outside the collapsiple panel it renders all well.
    So my  question is whether there is any way around this issue. When I know where the marker is hidden I can simply move the map and see it, but customer who's not aware of the problem will see only blank map with not marked address which is not acceptable.
    cheers,
    Simon

    Sure mate. Here you go:
    <div id="CollapsiblePanel1" class="CollapsiblePanel">
                  <div class="CollapsiblePanelTab" tabindex="0">SHOW MAP</div>
                  <div class="CollapsiblePanelContent">
                  <cfmap  width="242" height="200" zoomlevel="12" name="mainMap" markercolor="333444" showscale="false"
    typecontrol="none"  showcentermarker="true" centeraddress="#get_event.event_address1#, #get_event.event_address2#, #get_event.event_city#,#get_event.event_county#, #get_event.event_postcode#, #get_event.event_country#  "
    ></cfmap>
                  </div>
                </div>
    And this bit goes at the bottom of the code :
    <script type="text/javascript">
    var CollapsiblePanel1 = new Spry.Widget.CollapsiblePanel("CollapsiblePanel1", {contentIsOpen:false});
      </script>
    And that would be the preview that I get once the panel is open:
    And that is the preview of how it should look:
    As you can see the map marker sticks to the top left corner. I was wondering whether there is any way to re-focus it once the panel is open.
    cheers,
    Simon

  • Need help with spry collapsible panel (menu)

    I learn as I go when I created my website http://www.invitation-fascination.com/shapes.html and so far I've created a page with 13 spry collapsible panels- I think it came out pretty well.  Now this is what I want to add to the page: 
    I want to create a selector (drop down) menu above the panels with the option to select any one of the 13 panels.
    Once selected it will move directly to that panel and open it. 
    I've tried the piselect thing and with the "open" and "close" button that will programatically open the panels, but what I want is for the panel to be selected from the menu and then the page goes directly to that panel and it then opens.
    Is there a way this can be done?  Please help
    I'm really not that good at this stuff- please be easy with your response- thank you

    Have a look at the last example http://labs.adobe.com/technologies/spry/samples/collapsiblepanel/CollapsiblePanelGroupSamp le.html
    Gramps

  • Help with spry collapsible panel

    I have several spry collapsible panels that I am using for
    navigation and want an open panel to close automatically when a new
    one is opened. Can this be done? I checked the "customuze this
    widget" in the property inspector but does not give any info on the
    behavior of them. I am sure it is in the java code but I am not a
    Java expert by any means.

    Have a look at the last example http://labs.adobe.com/technologies/spry/samples/collapsiblepanel/CollapsiblePanelGroupSamp le.html
    Gramps

  • Spry collapsible panel with spry data

    I have created a spry collapsible panel and wanted to put
    srpy data in it, to dynamically load.
    i also want to hide the entire panel if no data is available.
    It will show the data, but the click to open/close does not
    work.
    here is the code.

    I have made some progress, thanks, however im still getting
    some odd formatting issues, for example, the 1st panel shows with
    different design to the rest of the panels.
    this is my code;
    <div id="region" spry:region="ds1">
    <div id="repeat" spry:repeat="ds1">
    <div id="CollapsiblePanel{ds_RowID}"
    class="CollapsiblePanel">
    <div class="CollapsiblePanelTab"
    tabindex="{ds1::ds_RowID}"> <h1>{title} - last amended
    {amended}</h1></div>
    <div
    class="CollapsiblePanelContent"><strong>{message}</strong>
    Added by <strong>{owner}</strong> on
    <strong>{added} </strong>(REF:
    <strong>{id}</strong>) <a href="/service/index.asp"
    target="_self">View full details</a></div>
    </div>
    <script type="text/javascript">
    <!--
    var CollapsiblePanel{ds_RowID} = new
    Spry.Widget.CollapsiblePanel("CollapsiblePanel{ds_RowID}");
    //-->
    </script>
    As you can see, I am inserting {ds_RowID} in the variable
    name, in order for the panels to operate independantly, however
    have I coded it correctly?

  • Spry Collapsible Panel Problem with Safari

    Hi my Spry Collapsible Panel looks great in Firefox, Camino, and IE, but the top border, which I am using as a line to divide items in the list, and which I have specified in the CSS page, doesn't show up in Safari and Google Chrome.  Just nothing, and everything else works.  Any help would be GREATLY appreciated!   My CSS page reads as follows:
    .CollapsiblePanel {
        color: #000000;
        border-top-style: solid;
        border-top-width: 0.5px;
        padding-top: 3px;
        padding-right: 0px;
        padding-bottom: 3px;
        padding-left: 0px;
    #apDiv3 #CollapsibleLINE {
        border-top-width: 20px;
        border-top-style: solid;
        border-top-color: #330099;
    .CollapsiblePanelTab {
        margin: 0px;
        padding: 20px;
        cursor: pointer;
        -moz-user-select: none;
        -khtml-user-select: none;
        font-family: sans-serif;
        font-size: 0.7em;
        font-weight: bold;
        color: #3366FF;
        border-top-width: thick;
        border-right-width: thin;
        border-bottom-width: thin;
        border-left-width: thin;
        border-top-style: solid;
        border-top-color: #FF00CC;
        border-right-color: #000000;
        border-bottom-color: #000000;
        border-left-color: #000000;
    /* This is the selector for a CollapsiblePanel's Content area. It's important to note that
    * you should never put any padding on the content area element if you plan to
    * use the CollapsiblePanel's open/close animations. Placing a non-zero padding on the content
    * element can cause the CollapsiblePanel to abruptly grow in height while the panels animate.
    * The name of the class ("CollapsiblePanelContent") used in this selector is not necessary
    * to make the widget function. You can use any class name you want to style a
    * CollapsiblePanel content container.
    .CollapsiblePanelContent {
        margin: 0px;
        padding: 0px;
    .CollapsiblePanelTab a {
        text-decoration: none;
    /* This is an example of how to change the appearance of the panel tab as the
    * mouse hovers over it. The class "CollapsiblePanelTabHover" is programatically added
    * and removed from panel tab containers as the mouse enters and exits the tab container.
    .CollapsiblePanelTabHover,  .CollapsiblePanelOpen .CollapsiblePanelTabHover {
        color: #666666;
    .CollapsiblePanelFocused .CollapsiblePanelTab {
    #apDiv1 .overlay {
    and my page looks like this:
    <link href="untitled.css" rel="stylesheet" type="text/css">
    <script src="Scripts/AC_ActiveX.js" type="text/javascript"></script>
    <script src="Scripts/AC_RunActiveContent.js" type="text/javascript"></script>
    <script src="SpryAssets/SpryCollapsiblePanel.js" type="text/javascript"></script>
    <style type="text/css">
    <!--
    #apDiv1 {
        position:absolute;
        width:808px;
        height:502px;
        z-index:1;
        left: 0px;
        top: 111px;
    #apDiv2 {
        position:absolute;
        width:2;
        height:747px;
        z-index:2;
        top: 109px;
        left: 34px;
        filter: alpha(opacity=75);
    #apDiv3 {
        position:absolute;
        width:128px;
        height:344px;
        z-index:3;
        left: 57px;
        top: 126px;
        filter: alpha(opacity=75);
    -->
    div:active, div:focus, div:hover {
        outline-style: none;
        -moz-outline-style:none;
    </style>
    <link href="SpryAssets/SpryCollapsiblePanel.css" rel="stylesheet" type="text/css" >
    <style type="text/css">
    <!--
    #apDiv4 {
        position:absolute;
        left:403px;
        top:115px;
        width:164px;
        height:312px;
        z-index:4;
    #apDiv3 #CollapsiblePanel2 .CollapsiblePanelContent font {
        color: #000000;
    #apDiv5 {
        position:absolute;
        left:57px;
        top:22px;
        width:722px;
        height:78px;
        z-index:4;
    #apDiv6 {
        position:absolute;
        left:551px;
        top:22px;
        width:397px;
        height:39px;
        z-index:5;
    #apDiv7 {
        position:absolute;
        left:285px;
        top:123px;
        width:478px;
        height:398px;
        z-index:5;
    #apDiv8 {
        position:absolute;
        left:325px;
        top:174px;
        width:276px;
        height:153px;
        z-index:6;
    -->
    </style>
    <div id="apDiv5"><img src="IMAGES/logo3.jpg" width="843" height="83" /></div>
    <div id="frontphoto"></div>
    <div id="apDiv1"><img src="IMAGES/Backgound.jpg" alt="back" width="1032" height="516" /></div>
    <div id="apDiv2"><img src="IMAGES/overlay.png" alt="Overlay" width="174" height="720" /></div>
    <div id="apDiv3">
      <div id="CollapsiblePanel2" class="CollapsiblePanel">
        <div tabindex="0"><font size="2" face="Georgia, Times New Roman, Times, serif">photography</font></div>
        <div class="CollapsiblePanelContent">
          <table width="118" border="0" align="center" cellpadding="3" cellspacing="0">
            <tr>
              <td><em><font size="2" face="Georgia, Times New Roman, Times, serif">portraits</font></em></td>
            </tr>
            <tr>
              <td><em><font size="2" face="Georgia, Times New Roman, Times, serif">events</font></em></td>
            </tr>
            <tr>
              <td><em><font size="2" face="Georgia, Times New Roman, Times, serif">landscapes</font></em></td>
            </tr>
            <tr>
              <td><em><font size="2" face="Georgia, Times New Roman, Times, serif">experiments</font></em></td>
            </tr>
          </table>
        </div>
      </div>
      <div id="CollapsiblePanel1" class="CollapsiblePanel">
        <div tabindex="0"><font size="2" face="Georgia, Times New Roman, Times, serif">print</font></div>
        <div class="CollapsiblePanelContent">
          <table width="118" border="0" align="center" cellpadding="3" cellspacing="0">
            <tr>
              <td><em><font size="2" face="Georgia, Times New Roman, Times, serif">posters</font></em></td>
            </tr>
            <tr>
              <td><em><font size="2" face="Georgia, Times New Roman, Times, serif">books &amp; packaging</font></em></td>
            </tr>
            <tr>
              <td><em><font size="2" face="Georgia, Times New Roman, Times, serif">invitations</font></em></td>
            </tr>
          </table>
        </div>
      </div>
      <div id="CollapsiblePanel4" class="CollapsiblePanel">
        <div tabindex="0"><font size="2" face="Georgia, Times New Roman, Times, serif">motion</font></div>
        <div>
          <table width="120" border="0" align="center" cellpadding="3" cellspacing="0">
            <tr>
              <td width="114"><em><font size="2" face="Georgia, Times New Roman, Times, serif">websites</font></em></td>
            </tr>
            <tr>
              <td><em><font size="2" face="Georgia, Times New Roman, Times, serif">animations</font></em></td>
            </tr>
          </table>
        </div>
      </div>
      <div id="CollapsiblePanel5" class="CollapsiblePanel">
        <div tabindex="0"><font size="2" face="Georgia, Times New Roman, Times, serif">about</font></div>
        <div>
          <table width="120" border="0" align="center" cellpadding="3" cellspacing="0">
            <tr>
              <td width="114"><em><font size="2" face="Georgia, Times New Roman, Times, serif">honors</font></em></td>
            </tr>
            <tr>
              <td><em><font size="2" face="Georgia, Times New Roman, Times, serif">background</font></em></td>
            </tr>
          </table>
        </div>
      </div>
      <div id="CollapsiblePanel6" class="CollapsiblePanel">
        <div tabindex="0"><font size="2" face="Georgia, Times New Roman, Times, serif">contact</font></div>
        <div class="CollapsiblePanelContent">
          <table width="120" border="0" align="center" cellpadding="3" cellspacing="0">
            <!--DWLayoutTable-->
            <tr>
              <td width="114"><a href="mailto:[email protected]" style="text-decoration:none"><font color="#333333" size="2" face="Georgia, Times New Roman, Times, serif">email</font></a></td>
            </tr>
            <tr>
              <td><em><font size="2" face="Georgia, Times New Roman, Times, serif">202.321.4248</font></em></td>
            </tr>
          </table>
        </div>
      </div>
    </div>
    <script type="text/javascript">
    <!--
    var CollapsiblePanel4 = new Spry.Widget.CollapsiblePanel("CollapsiblePanel4", {contentIsOpen:false});
    var CollapsiblePanel5 = new Spry.Widget.CollapsiblePanel("CollapsiblePanel5", {contentIsOpen:false});
    var CollapsiblePanel6 = new Spry.Widget.CollapsiblePanel("CollapsiblePanel6", {contentIsOpen:false});
    var CollapsiblePanel1 = new Spry.Widget.CollapsiblePanel("CollapsiblePanel1", {contentIsOpen:false});
    var CollapsiblePanel2 = new Spry.Widget.CollapsiblePanel("CollapsiblePanel2", {contentIsOpen:false});
    //-->
    </script>

    I am sorry, I tried in FF, IE7/8 and Chrome and they all look the same.

  • Spry Collapsible Panel problem when previewing in web browser

    Hello.
    I have inserted a spry collapsible panel into my website, made ZERO adjustments to any of the scripting or even css styling, and previewed the panel in my Safari browser. It does not seem to be working correctly. I've attached a couple of images showing what the panel looks like in the browser. My site is not published yet, so I cannot give out the url.
    Is something wrong with the js file? I tried the panel earlier on a different site on the same computer and it was working fine.
    the "Tab" menu text does not fit inside the grey box. Everything collapses fine, however, the gray box is too thin for the text. I've tried adjusting it in the CSS sheet, but it doesn't seem to change anything.
    This is the panel in the collapsed state. It looks bad. I know it's not supposed to work like this.
    When I preview the site in "live view" everything works fine...
    // SpryCollapsiblePanel.js - version 0.8 - Spry Pre-Release 1.6.1
    // Copyright (c) 2006. Adobe Systems Incorporated.
    // All rights reserved.
    // Redistribution and use in source and binary forms, with or without
    // modification, are permitted provided that the following conditions are met:
    //   * Redistributions of source code must retain the above copyright notice,
    //     this list of conditions and the following disclaimer.
    //   * Redistributions in binary form must reproduce the above copyright notice,
    //     this list of conditions and the following disclaimer in the documentation
    //     and/or other materials provided with the distribution.
    //   * Neither the name of Adobe Systems Incorporated nor the names of its
    //     contributors may be used to endorse or promote products derived from this
    //     software without specific prior written permission.
    // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
    // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    // ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
    // LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
    // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
    // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
    // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
    // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
    // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
    // POSSIBILITY OF SUCH DAMAGE.
    (function() { // BeginSpryComponent
    if (typeof Spry == "undefined") window.Spry = {}; if (!Spry.Widget) Spry.Widget = {};
    Spry.Widget.CollapsiblePanel = function(element, opts)
    this.element = this.getElement(element);
    this.focusElement = null;
    this.hoverClass = "CollapsiblePanelTabHover";
    this.openClass = "CollapsiblePanelOpen";
    this.closedClass = "CollapsiblePanelClosed";
    this.focusedClass = "CollapsiblePanelFocused";
    this.enableAnimation = true;
    this.enableKeyboardNavigation = true;
    this.animator = null;
    this.hasFocus = false;
    this.contentIsOpen = false;
    this.openPanelKeyCode = Spry.Widget.CollapsiblePanel.KEY_DOWN;
    this.closePanelKeyCode = Spry.Widget.CollapsiblePanel.KEY_UP;
    Spry.Widget.CollapsiblePanel.setOptions(this, opts);
    this.attachBehaviors();
    Spry.Widget.CollapsiblePanel.prototype.getElement = function(ele)
    if (ele && typeof ele == "string")
    return document.getElementById(ele);
    return ele;
    Spry.Widget.CollapsiblePanel.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.CollapsiblePanel.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.CollapsiblePanel.prototype.hasClassName = function(ele, className)
    if (!ele || !className || !ele.className || ele.className.search(new RegExp("\\b" + className + "\\b")) == -1)
    return false;
    return true;
    Spry.Widget.CollapsiblePanel.prototype.setDisplay = function(ele, display)
    if( ele )
    ele.style.display = display;
    Spry.Widget.CollapsiblePanel.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.CollapsiblePanel.prototype.onTabMouseOver = function(e)
    this.addClassName(this.getTab(), this.hoverClass);
    return false;
    Spry.Widget.CollapsiblePanel.prototype.onTabMouseOut = function(e)
    this.removeClassName(this.getTab(), this.hoverClass);
    return false;
    Spry.Widget.CollapsiblePanel.prototype.open = function()
    this.contentIsOpen = true;
    if (this.enableAnimation)
    if (this.animator)
    this.animator.stop();
    this.animator = new Spry.Widget.CollapsiblePanel.PanelAnimator(this, true, { duration: this.duration, fps: this.fps, transition: this.transition });
    this.animator.start();
    else
    this.setDisplay(this.getContent(), "block");
    this.removeClassName(this.element, this.closedClass);
    this.addClassName(this.element, this.openClass);
    Spry.Widget.CollapsiblePanel.prototype.close = function()
    this.contentIsOpen = false;
    if (this.enableAnimation)
    if (this.animator)
    this.animator.stop();
    this.animator = new Spry.Widget.CollapsiblePanel.PanelAnimator(this, false, { duration: this.duration, fps: this.fps, transition: this.transition });
    this.animator.start();
    else
    this.setDisplay(this.getContent(), "none");
    this.removeClassName(this.element, this.openClass);
    this.addClassName(this.element, this.closedClass);
    Spry.Widget.CollapsiblePanel.prototype.onTabClick = function(e)
    if (this.isOpen())
    this.close();
    else
    this.open();
    this.focus();
    return this.stopPropagation(e);
    Spry.Widget.CollapsiblePanel.prototype.onFocus = function(e)
    this.hasFocus = true;
    this.addClassName(this.element, this.focusedClass);
    return false;
    Spry.Widget.CollapsiblePanel.prototype.onBlur = function(e)
    this.hasFocus = false;
    this.removeClassName(this.element, this.focusedClass);
    return false;
    Spry.Widget.CollapsiblePanel.KEY_UP = 38;
    Spry.Widget.CollapsiblePanel.KEY_DOWN = 40;
    Spry.Widget.CollapsiblePanel.prototype.onKeyDown = function(e)
    var key = e.keyCode;
    if (!this.hasFocus || (key != this.openPanelKeyCode && key != this.closePanelKeyCode))
    return true;
    if (this.isOpen() && key == this.closePanelKeyCode)
    this.close();
    else if ( key == this.openPanelKeyCode)
    this.open();
    return this.stopPropagation(e);
    Spry.Widget.CollapsiblePanel.prototype.stopPropagation = function(e)
    if (e.preventDefault) e.preventDefault();
    else e.returnValue = false;
    if (e.stopPropagation) e.stopPropagation();
    else e.cancelBubble = true;
    return false;
    Spry.Widget.CollapsiblePanel.prototype.attachPanelHandlers = function()
    var tab = this.getTab();
    if (!tab)
    return;
    var self = this;
    Spry.Widget.CollapsiblePanel.addEventListener(tab, "click", function(e) { return self.onTabClick(e); }, false);
    Spry.Widget.CollapsiblePanel.addEventListener(tab, "mouseover", function(e) { return self.onTabMouseOver(e); }, false);
    Spry.Widget.CollapsiblePanel.addEventListener(tab, "mouseout", function(e) { return self.onTabMouseOut(e); }, false);
    if (this.enableKeyboardNavigation)
    // XXX: IE doesn't allow the setting of tabindex dynamically. This means we can't
    // rely on adding the tabindex attribute if it is missing to enable keyboard navigation
    // by default.
    // Find the first element within the tab container that has a tabindex or the first
    // anchor tag.
    var tabIndexEle = null;
    var tabAnchorEle = null;
    this.preorderTraversal(tab, function(node) {
    if (node.nodeType == 1 /* NODE.ELEMENT_NODE */)
    var tabIndexAttr = tab.attributes.getNamedItem("tabindex");
    if (tabIndexAttr)
    tabIndexEle = node;
    return true;
    if (!tabAnchorEle && node.nodeName.toLowerCase() == "a")
    tabAnchorEle = node;
    return false;
    if (tabIndexEle)
    this.focusElement = tabIndexEle;
    else if (tabAnchorEle)
    this.focusElement = tabAnchorEle;
    if (this.focusElement)
    Spry.Widget.CollapsiblePanel.addEventListener(this.focusElement, "focus", function(e) { return self.onFocus(e); }, false);
    Spry.Widget.CollapsiblePanel.addEventListener(this.focusElement, "blur", function(e) { return self.onBlur(e); }, false);
    Spry.Widget.CollapsiblePanel.addEventListener(this.focusElement, "keydown", function(e) { return self.onKeyDown(e); }, false);
    Spry.Widget.CollapsiblePanel.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.CollapsiblePanel.prototype.preorderTraversal = function(root, func)
    var stopTraversal = false;
    if (root)
    stopTraversal = func(root);
    if (root.hasChildNodes())
    var child = root.firstChild;
    while (!stopTraversal && child)
    stopTraversal = this.preorderTraversal(child, func);
    try { child = child.nextSibling; } catch (e) { child = null; }
    return stopTraversal;
    Spry.Widget.CollapsiblePanel.prototype.attachBehaviors = function()
    var panel = this.element;
    var tab = this.getTab();
    var content = this.getContent();
    if (this.contentIsOpen || this.hasClassName(panel, this.openClass))
    this.addClassName(panel, this.openClass);
    this.removeClassName(panel, this.closedClass);
    this.setDisplay(content, "block");
    this.contentIsOpen = true;
    else
    this.removeClassName(panel, this.openClass);
    this.addClassName(panel, this.closedClass);
    this.setDisplay(content, "none");
    this.contentIsOpen = false;
    this.attachPanelHandlers();
    Spry.Widget.CollapsiblePanel.prototype.getTab = function()
    return this.getElementChildren(this.element)[0];
    Spry.Widget.CollapsiblePanel.prototype.getContent = function()
    return this.getElementChildren(this.element)[1];
    Spry.Widget.CollapsiblePanel.prototype.isOpen = function()
    return this.contentIsOpen;
    Spry.Widget.CollapsiblePanel.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.CollapsiblePanel.prototype.focus = function()
    if (this.focusElement && this.focusElement.focus)
    this.focusElement.focus();
    Spry.Widget.CollapsiblePanel.PanelAnimator = function(panel, doOpen, opts)
    this.timer = null;
    this.interval = 0;
    this.fps = 60;
    this.duration = 500;
    this.startTime = 0;
    this.transition = Spry.Widget.CollapsiblePanel.PanelAnimator.defaultTransition;
    this.onComplete = null;
    this.panel = panel;
    this.content = panel.getContent();
    this.doOpen = doOpen;
    Spry.Widget.CollapsiblePanel.setOptions(this, opts, true);
    this.interval = Math.floor(1000 / this.fps);
    var c = this.content;
    var curHeight = c.offsetHeight ? c.offsetHeight : 0;
    this.fromHeight = (doOpen && c.style.display == "none") ? 0 : curHeight;
    if (!doOpen)
    this.toHeight = 0;
    else
    if (c.style.display == "none")
    // The content area is not displayed so in order to calculate the extent
    // of the content inside it, we have to set its display to block.
    c.style.visibility = "hidden";
    c.style.display = "block";
    // Clear the height property so we can calculate
    // the full height of the content we are going to show.
    c.style.height = "";
    this.toHeight = c.offsetHeight;
    this.distance = this.toHeight - this.fromHeight;
    this.overflow = c.style.overflow;
    c.style.height = this.fromHeight + "px";
    c.style.visibility = "visible";
    c.style.overflow = "hidden";
    c.style.display = "block";
    Spry.Widget.CollapsiblePanel.PanelAnimator.defaultTransition = function(time, begin, finish, duration) { time /= duration; return begin + ((2 - time) * time * finish); };
    Spry.Widget.CollapsiblePanel.PanelAnimator.prototype.start = function()
    var self = this;
    this.startTime = (new Date).getTime();
    this.timer = setTimeout(function() { self.stepAnimation(); }, this.interval);
    Spry.Widget.CollapsiblePanel.PanelAnimator.prototype.stop = function()
    if (this.timer)
    clearTimeout(this.timer);
    // If we're killing the timer, restore the overflow property.
    this.content.style.overflow = this.overflow;
    this.timer = null;
    Spry.Widget.CollapsiblePanel.PanelAnimator.prototype.stepAnimation = function()
    var curTime = (new Date).getTime();
    var elapsedTime = curTime - this.startTime;
    if (elapsedTime >= this.duration)
    if (!this.doOpen)
    this.content.style.display = "none";
    this.content.style.overflow = this.overflow;
    this.content.style.height = this.toHeight + "px";
    if (this.onComplete)
    this.onComplete();
    return;
    var ht = this.transition(elapsedTime, this.fromHeight, this.distance, this.duration);
    this.content.style.height = ((ht < 0) ? 0 : ht) + "px";
    var self = this;
    this.timer = setTimeout(function() { self.stepAnimation(); }, this.interval);
    Spry.Widget.CollapsiblePanelGroup = function(element, opts)
    this.element = this.getElement(element);
    this.opts = opts;
    this.attachBehaviors();
    Spry.Widget.CollapsiblePanelGroup.prototype.setOptions = Spry.Widget.CollapsiblePanel.prototype.setOptions;
    Spry.Widget.CollapsiblePanelGroup.prototype.getElement = Spry.Widget.CollapsiblePanel.prototype.getElement;
    Spry.Widget.CollapsiblePanelGroup.prototype.getElementChildren = Spry.Widget.CollapsiblePanel.prototype.getElementChildren;
    Spry.Widget.CollapsiblePanelGroup.prototype.setElementWidget = function(element, widget)
    if (!element || !widget)
    return;
    if (!element.spry)
    element.spry = new Object;
    element.spry.collapsiblePanel = widget;
    Spry.Widget.CollapsiblePanelGroup.prototype.getElementWidget = function(element)
    return (element && element.spry && element.spry.collapsiblePanel) ? element.spry.collapsiblePanel : null;
    Spry.Widget.CollapsiblePanelGroup.prototype.getPanels = function()
    if (!this.element)
    return [];
    return this.getElementChildren(this.element);
    Spry.Widget.CollapsiblePanelGroup.prototype.getPanel = function(panelIndex)
    return this.getPanels()[panelIndex];
    Spry.Widget.CollapsiblePanelGroup.prototype.attachBehaviors = function()
    if (!this.element)
    return;
    var cpanels = this.getPanels();
    var numCPanels = cpanels.length;
    for (var i = 0; i < numCPanels; i++)
    var cpanel = cpanels[i];
    this.setElementWidget(cpanel, new Spry.Widget.CollapsiblePanel(cpanel, this.opts));
    Spry.Widget.CollapsiblePanelGroup.prototype.openPanel = function(panelIndex)
    var w = this.getElementWidget(this.getPanel(panelIndex));
    if (w && !w.isOpen())
    w.open();
    Spry.Widget.CollapsiblePanelGroup.prototype.closePanel = function(panelIndex)
    var w = this.getElementWidget(this.getPanel(panelIndex));
    if (w && w.isOpen())
    w.close();
    Spry.Widget.CollapsiblePanelGroup.prototype.openAllPanels = function()
    var cpanels = this.getPanels();
    var numCPanels = cpanels.length;
    for (var i = 0; i < numCPanels; i++)
    var w = this.getElementWidget(cpanels[i]);
    if (w && !w.isOpen())
    w.open();
    Spry.Widget.CollapsiblePanelGroup.prototype.closeAllPanels = function()
    var cpanels = this.getPanels();
    var numCPanels = cpanels.length;
    for (var i = 0; i < numCPanels; i++)
    var w = this.getElementWidget(cpanels[i]);
    if (w && w.isOpen())
    w.close();
    })(); // EndSpryComponent

    I have inserted a spry collapsible panel into my website, made ZERO
    adjustments to any of the scripting or even css styling
    That is good, that means that I have a local copy of the scripting and css files eliminating the need to attach the code to a post.
    Is something wrong with the js file? I tried the panel earlier on a
    different site on the same computer and it was working fine
    The fact that it works on a different site means that something is correct. My assumption is that the scripting and css files are doing their job correctly and to answer your question regarding the js file, no.
    Having eliminated the Spry original JavaScript and CSS files as being the culprits, there must be a problem with the rest of the site, incorrect HTML, other interfering JavaScript or CSS.
    I can keep guessing, but only those persons that are privy to your code can give you any positive input. Please find a way to upload your files so that we can see the code in context.
    To this end, screen captures do not assist in solving the problem, they only add to others' amusement at seeing the problem.
    Ben
    PS I forgot to say, welcome to our community and yes I am a cynical old codger, sorry.

  • Question about Spry Collapsible Panel

    Hey guys my question is that I have a PSD sliced and imported into Dreamweaver and I was wondering if it was possible to have a Spry Collapsible Panel drop down from a button I designed in Photoshop and brought into dreamweaver? Basically I want a content area to drop down when that button is clicked and I figured a Spry Collapsible Panel might be able to accomplish that. I hope I'm explaining this clearly enough, I'm not very experienced with Dreamweaver. Thanks!

    Definitely possible.
    You should first import the image into DW.
    Insert > Spry > Spry Collapsible Panel
    It'll insert a demo panel.
    You'll then have to move your image <img src..> into the default first div under spry collapsible as follows:
    <div id="CollapsiblePanel1" class="CollapsiblePanel">
      <div class="CollapsiblePanelTab" tabindex="0"><img src="location-to-your-image.jpg" width="100" height="50" /></div>
      <div class="CollapsiblePanelContent">Content</div>
    </div>
    You'll basically be removing 'TAB' from here to replace it with your img src tag.
    Your HTML should look like this:
    <!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>Collapsible Test</title>
    <script src="SpryAssets/SpryCollapsiblePanel.js" type="text/javascript"></script>
    <link href="SpryAssets/SpryCollapsiblePanel.css" rel="stylesheet" type="text/css" />
    </head>
    <body>
    <div id="CollapsiblePanel1" class="CollapsiblePanel">
      <div class="CollapsiblePanelTab" tabindex="0"><img src="location-to-your-image.jpg" width="100" height="50" /></div>
      <div class="CollapsiblePanelContent">Content</div>
    </div>
    <script type="text/javascript">
    <!--
    var CollapsiblePanel1 = new Spry.Widget.CollapsiblePanel("CollapsiblePanel1");
    //-->
    </script>
    </body>
    </html>
    Do note that you'll have to copy the supporting spry files to your server for this to work. By default, DW will place them into your project folder once you insert the spry collapsible panel.

  • Spry Collapsible panel and ul

    I've got 5 spry collapsible panels in a page, each panel with
    <ul>'s inside them.
    Now whats happening is when you click to open a panel the
    <ul> is appearing and overlapping all the other panels while
    the panel is opening, rather than gradually appearing as the panel
    opens.
    Is there anyway to stop this. It works spot on in
    firefox.

    HI Littlened,
    First of all, it's best to use the last version of the Spry
    files (1.6), I see you are using 1.4. You can download the latest
    version of the Spry Framework
    here.
    The problem is caused by one your CSS classes:
    .navbar_ci ul li {
    position: relative;
    IE has problems with relative positioned elements; if you use
    them, their parents must also be relative positioned; but if you
    don't need this, it's best to avoid using it.
    --Florin

  • Spry Collapsible Panel question

    I have a file online that uses a Spry collapsible panel.  It can be viewed here.  It works beautifully.  For one exception.  The logo is supposed to be up some 10 pixels or so.  The CollapsiblePanelTab is occupying the space.
    So I took the CSS for the CollapsiblePanelContent and moved it up 1em <margin-top: -1em;>.  That put my logo where it should be.  Problem is that when I do this the transparent portion of the logo covers most of the "Hide / Show Logo."  It leaves only a sliver of the right of the tab.  This file can be viewed here.
    The logo consists of the image and the bar underneath it.  Yes, I could crop the image down to the central part, making it narrower, but I do want the bar which is wider.  And I want the bar to disappear when the Spry is activated so that rules out having it as a separate image..
    Even better I would like when the panel is open for the "Hide / Show Logo" to be just above the bar.  I tried that and it threw everything out of kilter.
    Any suggestions!  Thank you in advance for any responses.

    Beth,
       Thought of it, did it, didn't work.
       If I remove the logo from the HTML of the page and instead place it in the "background-image" of the CollapsiblePanelContent CSS I get disastrous results.  The panel collapses (because there is nothing in the DIV) and the CSS placed background image disappears.  Following this thread of thought I could try a much narrower transparent image with nothing in it, just the transparency, and see how that might work.  This would keep the DIV open to the desired height.  Then I could place the actual, true image in the "background-image" of the DIV CSS.
       For the moment I am going to see if someone perhaps comes up with a solution other than this.  The chief reason is that I would lose my dynamic linking of the PSD to the placed image.  This file will be a template of thousands of pages spanning many years so the logo will change appropriately.
       This method, of using the image in the CSS itself, also causes some alignment problems within the DIV.  My background-image does not center properly.  It does so when placed in the HTML of the document.
       Getting back to the original problem, which seems to be the transparency of the image and its width, I don't see any reason why I could not break my image into two pieces and place each one within the CollapsiblePanelContent.  Each image in their own DIV contained within the panel content.  I could then make the logo part separate from the bar but still have the bar collapse.  The logo portion could then be much narrower.  I think I will try this method and see what transpires.  I could then keep my dynamically linked images.  Theoretically!!!
       Thanks for letting me bounce ideas off a fellow thick skull.  Not seeing the trees for the forest and all that.
    Regards,
    Wayne

Maybe you are looking for