Obtrusive spry elements

I have the following spry:repeat
quote:
<ul id="categoryList"
spry:repeatchildren="categoryPagingDs"
spry:choose="spry:choose">
<li spry:when="'{ds_RowNumber}' == 0"
class="maincategory"
id="maincat_'{ds_RowNumber}'"><b>{@name}</b></li>
<li spry:when="'{@name}' != getPrevCat('{ds_RowNumber}')"
class="maincategory"
id="maincat_'{ds_RowNumber}'"><b>{@name}</b></li>
<li id="cat_{ds_RowID}"
spry:default="'{ts:subcategory/@name}' != ''"
class="subcategory">{ts:subcategory/@name}</li>
</ul>
i have a
quote:
function initCatWidget(){
Spry.$$("*.subcategory").addEventListener("click",setFilterByCategory,false);
Spry.$$("*.maincategory").addEventListener("click",setFilterByCategory,false);
being called on an
onLoad region and postUpdate
while in FF 2 I get the triggered event i DON'T get the 'id'
from the
Spry.$$('*.maincategory')
and in IE 6 i don't get any 'click' events at all...

I have updated the regions to
quote:
<ul id="categoryList"
spry:repeatchildren="categoryPagingDs"
spry:choose="spry:choose">
<li spry:when="'{ds_RowNumber}' == 0"
class="maincategory" id="maincat_'{ds_RowNumber}'" ><b
spry:setrow="categoryPagingDs
categoryListDs">{@name}</b></li>
<li spry:when="'{@name}' != getPrevCat('{ds_RowNumber}')"
class="maincategory" id="maincat_'{ds_RowNumber}'" ><b
spry:setrow="categoryPagingDs
categoryListDs">{@name}</b></li>
<li id="cat_{ds_RowID}"
spry:default="'{ts:subcategory/@name}' != ''"
class="subcategory"><span spry:setrow="categoryPagingDs
categoryListDs">{ts:subcategory/@name}</span></li>
</ul>
and used
quote:
Spry.Utils.addLoadListener(initCatWidget);
var catObserver = {};
catObserver.onPostUpdate = initCatWidget;
catObserver.onCurrentRowChanged = setFilterByCategory;
Spry.Data.Region.addObserver("categoryListingRegion",
catObserver);
No dice on either browsers the previous code was more closer
to a solution....
it his a bug also?

Similar Messages

  • Hiding Table Columns with the Spry Element Selector

    I am trying to set up a toggle button that will show/hide
    rows >1 when clicked. I've used Adobe's
    "Hiding
    Table Columns with the Spry Element Selector" example and it
    worked fine with an HTML list, until I linked to actual XML data.
    Now it works in reverse. What gives?
    Here's the example:
    http://a44.awardspace.com/testing/toggleShowHideRows.htm

    That's what I started with. Same result:
    http://a44.awardspace.com/testing/toggleShowHideRows.htm

  • Resolving conflicting JavaScript due to several Spry elements in one page

    I am fairly new to web coding, I would really appreciate some help in the following topic. I am working on a web page and I decided to insert some of the pre-coded Spry elements provided by Dreamweaver, I have in one page a HorizontalMenuBar, a SpryTabbedPanels, and an AccordionPannel. I have not modified any of the script that is automatically inserted into my code, all I did was to change some of the CSS to match my design, I saved the extension files in my own .js folder rather than the SpryAssets folder that is automatically created and I have verified that all the files are being called correctly in the <head> of my document. When I test the page with only the HorizontalMenuBar it works fine, as soon as I add the TabbedPanels and the Accordion only one of them works. I researched this subject and I think the problem is that eachof these /.js files created by Dreamweaver have a couple of variables that are named creating conflict when running the script. But I don't know what variable it is, in previous threads I found that the most common variable causing this problem is the 'onload' event, so I looked for it on each file and to my surprise neither of the .js files have an 'onload' element. I would guess that is being used as a global variable, but I don't write code and I wouldn't know how to fix that.
    I have some specific questions I would appreciate help with.
    1- Does anyone know a simple way to fix this problem?
    2- What other variable could be causing this problem? Specific names would help so I can run a Find search
    3- Will it cause a problem if I combined the 3 .js files into one?
    4- What can I do to avoid this problem later on if I decided to add another pre-coded JavaScript element into my site?
    Thanks in advance for any help provided.

    I'm having a similar problem and can't find the solution. I have a twitter feed widget and a image cycle widget on my site. On their own the widgets work fine, but when both in the same html document only one works. Here's my code, what do you think: I'd really appreciate any assistance. Thanks!
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Untitled Document</title>
    <script src="scripts/jquery-1.6.min.js" type="text/javascript"></script>
    <script src="scripts/jquery.cycle.all.js" type="text/javascript"></script>
    <script src="scripts/jquery.js" type="text/javascript"></script>
    <script src="scripts/twitter_search.js" type="text/javascript"></script>
    <style type="text/css">
    /* BeginOAWidget_Instance_2559022: #slideshow */
                                  #slideshow { 
                                      padding: 0px;
                                            margin:0; 
                                  #slideshow-caption{
                                            padding:0;
                                            margin:0;
                                  #slideshow img, #slideshow div { 
                                      padding: 0px;
                                      background-color: transparent;
                                            -webkit-border-radius: 0px;
                                            -moz-border-radius: 0px;
                                            border-radius: 0px;
                                      margin: 0;
    /* EndOAWidget_Instance_2559022 */
    </style>
    <script type="text/xml">
    <!--
    <oa:widgets>
      <oa:widget wid="2559022" binding="#slideshow" />
      <oa:widget wid="2125523" binding="#twitter" />
    </oa:widgets>
    -->
    </script>
    <style type="text/css">
    /* BeginOAWidget_Instance_2125523: #twitter */
                        #twitter { height: 200px; width: 250px}
    /* EndOAWidget_Instance_2125523 */
    </style>
    </head>
    <body>
    <script type="text/javascript">
    // BeginOAWidget_Instance_2559022: #slideshow
                               slideshowAddCaption=false;
    $(document).ready(function() {
              $('#slideshow').cycle({
                        after:                              slideshowOnCycleAfter, //the function that is triggered after each transition
                        autostop:                              false,     // true to end slideshow after X transitions (where X == slide count)
                        fx:                                        'fade,',// name of transition effect
                        pause:                              true,     // true to enable pause on hover
                        randomizeEffects:          true,  // valid when multiple effects are used; true to make the effect sequence random
                        speed:                              2000,  // speed of the transition (any valid fx speed value)
                        sync:                              false,     // true if in/out transitions should occur simultaneously
                        timeout:                    6000,  // milliseconds between slide transitions (0 to disable auto advance)
                        fit:                              true,
                        height:                       '400px',
                        width:         '900px'   // container width (if the 'fit' option is true, the slides will be set to this width as well)
    function slideshowOnCycleAfter() {
              if (slideshowAddCaption==true){
                                  $('#slideshow-caption').html(this.title);
    // EndOAWidget_Instance_2559022
    </script>
    <div id="slideshow">
      <!--All elements inside this will become slides-->
      <img src="images/beach1.jpg" width="100" height="100" title="caption for image1" /> <img src="images/beach2.jpg" width="300" height="300" title="caption for image2" /> <img src="images/beach3.jpg" width="200" height="200" title="caption for image3" />
      <div title="sample title"> you can add blocks of text instead!</div>
      <img src="images/beach4.jpg" width="200" height="200" title="caption for image4" /> <img src="images/beach5.jpg" width="200" height="200" title="caption for image5" /> </div>
    <!--It is safe to delete this if captions are disabled-->
    <div id="slideshow-caption"></div>
    <div id="twitter"></div>
    <script type="text/javascript">
    // BeginOAWidget_Instance_2125523: #twitter
    $(document).ready(function() {
              $('#twitter').twitterSearch({
                        term: 'from%3Abholtdesign',
                        title: 'cbb twitter',
                        titleLink: 'http://www.twitter.com/bholtdesign',
                        bird: true,                                                  // true or false (show or hide twitter bird image)
                        birdSrc: '/images/tweet.gif',                     // twitter bird image
                        birdLink: '',                    // url that twitter bird image should like to
                        avatar: false,                                        // true or false (show or hide twitter profile images)
                        anchors: true,                              // true or false (enable embedded links in tweets)
                        animOutSpeed: 500,          // speed of animation for top tweet when removed
                        animInSpeed: 500,          // speed of scroll animation for moving tweets up
                        pause: true,                                        // true or false (pause on hover)
                        time: true,                                                  // true or false (show or hide the time that the tweet was sent)
                        timeout: 4000,                              // delay betweet tweet scroll
                        css: {
                                  a:     { textDecoration: 'none', color: '#999999', fontWeight: 'normal'},
                                  container: { backgroundColor: '#000000' },
                                  frame: { border: '10px solid #333333', borderRadius: '10px', '-moz-border-radius': '10px', '-webkit-border-radius': '10px' },
                                  img:   { width: '30px', height: '30px' },
                                  loading: { color: '#888' },
                                  text:  {fontWeight: 'normal', fontSize: '12px', color:'#ffffff'},
                                  time:  { fontSize: '12px', color: '#CCC' },
                                  title: { backgroundColor: '#990066', padding: '5px 0 5px 0', textAlign: 'center', fontWeight: 'bold', fontSize: '12px'},
                                  titleLink: { textDecoration: 'none', color: '#ffffff' },
                                  user:  { fontSize: '12px'},
                                  fail:  { background: '#6cc5c3 url(/images/failwhale.png) no-repeat 50% 50%'}
    // EndOAWidget_Instance_2125523
    </script>
    </body>
    </html>

  • Spry Element Problems...

    Hello!
    I am working on my website and getting conflicts with Spry Elements. I have inserted a Spry Menu at the top of my page in a fixed position, and then in the content area of my page I have Spry Tabs. The problem is that even though I have the z-index up to 1000 for the menu, when it drops down over the tab the tab can be seen through it and even selected. However, I cannot find a z-index property for the Tab css anywhere, and even when I add one well below my menu it still shines through.
    Since both Spry elements autocreate their own css pages and javascript files I assume it is something in there that is causing it.
    Anyone have an easy answer?
    Thanks,
    -Ryan

    I cannot find a z-index property for the Tab css anywhere
    You'll probably need to create your own.  Z-index (stacking order) only works on positioned (relative, absolute or fixed) elements.
    Nancy O.

  • Absolutely Positioned Spry Elements Disappearing in Firefox

    Building a sliding spry element that creates the effect of a tab expanding upwards. Renders perfect in both Safari and Opera9, however in firefox the heading tag and subsequent <a> that controls the effect are visible only for a brief second and the page loads then disappear from view all together.
    I turned off css styles in FF and was surprised to find that the 3 spry elements function 100% correctly. This is indicating to me that it is a css error. I remember another time I was trying to use image replacement via display:none and AP html tags where the links became unclickable though still visible.
    here is a link to the page:
    http://internal.shamanism.com/danceofthedeer/test/default.cfm
    rather than post a long list of css styles and html code, ive just attached them to this thread.
    I've searched around for a similar issue, but without knowing what is exactly causing this problem its hard to find relevant results.
    Any help would be greatly appreciated.
    Thanks.

    ccwd wrote:
    > I used Dreamweavers to create a web site with a
    horizontal spry menu. The site
    > was working fine and still is in Firefox, but in IE the
    menu text disappears
    > when browsing to some of the page (the text is visible
    on roll-over, however).
    > I have very limited experience with coding.
    For anyone to track down your problem you'll have to post a
    link to a live page that exhibits this issue and give detailed
    instructions as to how to recreate it. Please include the version
    of IE (and platform in case that may make a difference)that is
    having this issue.
    Also, Spry questions are generally better asked in the Spry
    forum:
    http://www.adobe.com/cfusion/webforums/forum/categories.cfm?forumid=72&catid=602
    Danilo Celic
    |
    http://blog.extensioneering.com/
    | WebAssist Extensioneer
    | Adobe Community Expert

  • Spry Elements

    Is it possible to combine several different Spry elements on a single page, specifically a Spry menu and a Spry collapsible panel(s)?

    Thanks for your feedback.
    In testing, I did have some initial problems. But it appears if I avoid nesting (the different Spry elements) the problem(s) goes away. Does that make sense? Is that generally good practice?

  • Spry elements and rollovers not working in IE (all)

    After updating my DW CS5.5 last week my rollovers and spry menu elements don't work in IE (any version). Everything worked well before update. It is not the code (ran it through validator). I tried just insert the elements to the empty page and nothing works. I really need this to resolve as my deadline is in 2 weeks. Is it any way how I coudl return to the previous version? My version now (after update) is Version 11.5 Build 5366.
    I forgot to mention that also I cannot connect to Adobe Browser Lab from DW since update ( I can do it from website) - it doesn't recognize my Adobe ID.
    Thank you to everybody who coudl give me some info
    Daniela

    Upgrading should not be the cause of the problem.
    If you want us to help you, please post a link to your site so that we can be privy to the same info that you have.
    Gramps

  • Spry Elements vs Regular Form Elements

    What is the difference between using Spry Validation form elements as opposed to just using regular form elements?
    Which do you prefer and why?
    Thanks

    What is the difference between using Spry Validation form elements as opposed to just using regular form elements?
    Regular form elements are passive elements that wait for information to be entered to subsequently be processed by another mechanism.
    SpryValidation form elements are the same as above except that they have an active validation module attached. There are standard validation rules that can be used (like e-mail address) or you can supply custom validations.
    Because Spry is a JavaScript library, the Spry widgets will only work with JavaScript enabled. The advantage of JavaScript is that it is processed by the browser (client side) and that, in our case, validation is instantaneous. When JS is turned off or the browser is not JS capable, there is no validation. This means that if you require serious validation, you must, in addition/in lieu of, have server side validation.
    Which do you prefer and why?
    I use both client side (Spry) and server side (PHP) validation, the latter to make sure that if Spry fails there is always the safe and trusted method of validation.
    Why Spry? Spry widgets allow for a better user experience.
    I hope this helps.
    Ben

  • In Dreamweaver CS5 - Spry elements visable in LiveView Only

    Web page: www.muohio.edu/youth
    In Dreamweaver the Spry Tabbed Panels and Collapsible panels work fine as published, and in LiveView. However in Design View the tabbed panels only show the top content, the styling is not applied.  The collapsible panels are functional, but the styling is not applied.
    Hope someone has an idea of what needs to be changed in the code, it is very difficult to update the page as it is.

    Yes, on some complicated pages, DW can have a hard time rendering the Design View.
    What you can do (that is the solution I use) is:
    for the styling, create you rules in Design view, and edit them in Live view. You sometimes have to refresh the view to have the changes apply, but it is still a time-saver.
    for the content, just switch to Code View and copy the content that needs updating. Open another HTML page, select all, and paste over your copied content. DW renders HTML bits pretty well even if there is no <html>, <body>, etc, tags. Then edit in Design View, switch back to Code View, copy all, and paste over your old content in the original document.
    Hopes this helps.
    Xav

  • Combining Spry elements

    My situation is this: I am creating a photo gallery page,
    with 5 galleries. Each gallery's thumbnails are displayed in a Spry
    panel (Tabbed Panels) on the right side of the page. The full size
    image will be displayed in another div on the left side of the
    page. So far, I have everything for the first gallery working, and
    I was able to get the thumbnails for the second gallery to show,
    but can't figure out how to get the corresponding full size image
    for the second gallery to show up when the thumbnail is clicked.
    Can anyone help me out with this? The page is located here:
    http://www.mistchild.com/nyc/08/photos.htm
    Thanks

    Can anyone help me with this?

  • Setting Inner HTML for spry elements

    I am trying to set the inner HTML for an object that it says
    has no properties. It seems to work in FF but not in IE.
    Example:
    Created an additional row that I put a '*' in column if it is
    the clicked column representing the details section of the page.
    (In other words, when clicking the sub region is based on the
    clicked row. This row gets the left column of the clicked item
    marked and the other rows cleared.)

    Ah... found an alternative. There are two alternatives to the
    interface for CSS styles.
    rowHover and the one I just found, rowSelected. That is a
    sufficient method of highlighting the currently selected row. I
    just added a style to the CSS and it works great!

  • Spry Tabbed elements...

    I have inserted one of the Spry Tabbed elements into my page.
    I have uploaded the CSS and JS files too. I later found a tutorial,
    and it turns out I have done everything it says to get it to work.
    It doesn't switch between tabs, and basically all the content on
    both tabs show up.
    I have a table of information in Tab 1, and Tab 2 just has
    the default "Content 2" just below my table for Tab 1.
    Any thoughts?
    Thanks.

    Right now the page it's on is a PHP saved file, but the Spry
    element is not within PHP tags. Does the file it sits on have to be
    saved in an HTML format??? I hope not.

  • Maintaing focus on Nav elements

    Does anyone know how to hold focus on a separate navigation
    menu (i am using an unorderd list with hrefs, using CSS pseudo
    styling with an additional Javascript to activate the focus on
    which menu item page is displayed), while interacting with the Spry
    collapsible panels? Anytime, I open or close a collpasible panel,
    my navigation menu (separate from the spry panels) looses it's
    pseudo 'active' state and becomes unhighlighted.

    By Applying a page ID to a non-displayed DIV(wrapping the
    entire page content before and after body) and an ID on each
    navigation element, I can style the nav elements accordingly, to
    appear as if selected, while still interacting with other elements,
    including Spry elements, on the page.

  • 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.

  • Spry Vertical Menu Bar not working in IE8

    I've upgraded to 1.6.1, but it still doesn't work in IE8 unless in compatibility mode.  http://jimgreenrealty.com/Test.html
    Works fine in other browsers and other Spry elements appear to work normally in IE8.  Can anyone help?
    Thanks,
    Steve B.

    If you deselect compatibility mode on IE8 the menu bar disappears (on
    all our computers anyway).  Works fine in all other versions of IE and
    all other browsers.  Updated to Spry 1.6.1 and still no avail.
    Here it is w/o the emulating statement: http://jimgreenrealty.com/Test.html
    The other pages on the site still have it.
    Thanks for looking at it.
    */ <mailto:[email protected]>
    <mailto:[email protected]>/*
    Message was edited by: RRR Trail
    Not sure how this forum works, I responded by email and it posts my email address.  I don't seem to be able to edit to remove it.  Please remove the email address.  Thanks,

Maybe you are looking for

  • Wireless-Card doesn't not work with WPA/WPA2 but with WEP [Solved]

    Hello I have a MacBook (late 2007) with a wireless-card from Broadcam, the card works with WEP and the classic configuration over rc.conf very well. But I can't get the card running with WPA and the net network-profiles. Here is the link to the drive

  • Proxy servers and the "cannot publish" error - v.1.1.2

    Using the latest iWeb (1.1.2), attempts to publish my work to my .Mac account resulted in the infamous "publish error." I then came across this KB article: http://docs.info.apple.com/article.html?artnum=303927 I turned off my proxy access in the Netw

  • Control over items in BIPub Chart

    Hi I've started using BIP charts on reports generated from APEX. While they are well formed and giving the correct results, the display generated is sometimes a little wayward or random. I have a report that generates two 3d pie charts - very similar

  • How to get component from which PropertyChange is activated

    I have a PropertyChangeListener on JInternalFrames. The frames are added using same method. I need to know from which component (frame) the 'close'-property is changed. I cannot figure out how to get it. When a propertychange is fired, how do i know

  • Enhancement for transaction IW32

    Hi all, I need to create a push button in the application area of transaction IW32 which will trigger a java application. Can anyone provide me with the enhancement name where i can code for its logic. Thanks, Asha