PDA

View Full Version : expand stay open - accordion menu



pbuckley
06-17-2010, 05:50 PM
1) Script Title: Accordion Menu script

2) Script URL (on DD): http://www.dynamicdrive.com/dynamicindex17/ddaccordionmenu.htm

3) Describe problem: I am using the above script on a site (and love it). My client would like the submenus to stay open on the given header pages. I looked over the onopenclose events handlers code, but did not find anything.

Here is our script:

ddaccordion.init({
headerclass: "submenuheader", //Shared CSS class name of headers group
contentclass: "submenu", //Shared CSS class name of contents group
revealtype: "click", //Reveal content when user clicks or onmouseover the header? Valid value: "click", "clickgo", or "mouseover"
mouseoverdelay: 200, //if revealtype="mouseover", set delay in milliseconds before header expands onMouseover
collapseprev: false, //Collapse previous content (so only one open at any time)? true/false
defaultexpanded: [], //index of content(s) open by default [index1, index2, etc] [] denotes no content
onemustopen: false, //Specify whether at least one header should be open always (so never all headers closed)
animatedefault: false, //Should contents open by default be animated into view?
persiststate: false, //persist state of opened contents within browser session?
toggleclass: ["", ""], //Two CSS classes to be applied to the header when it's collapsed and expanded, respectively ["class1", "class2"]
togglehtml: ["suffix", "<img src='plus.gif' class='statusicon' />", "<img src='minus.gif' class='statusicon' />"], //Additional HTML added to the header when it's collapsed and expanded, respectively ["position", "html1", "html2"] (see docs)
animatespeed: "fast", //speed of animation: integer in milliseconds (ie: 200), or keywords "fast", "normal", or "slow"
oninit:function(expandedindices){ //custom code to run when headers have initalized
//do nothing
},
onopenclose:function(header, index, state, isuseractivated){ //custom code to run whenever a header is opened or closed
if (state=="block" && isuseractivated==false){ //if header is expanded and NOT as the result of the user 's action (click or mouseover)

Any help would be greatly appreciated. Thank you in advance!

ddadmin
06-17-2010, 08:40 PM
There's quite a few threads in general about getting a sub menu to open automatically based on the page the user is currently at. There is no "instant" way to do this- it really depends on finding some way on your own of matching the current page with the sub menu that is supposed to be open, then either setting the "defaultexpanded" parameter of your menu, or calling one of the Accordion Menu expand/contract methods (http://www.dynamicdrive.com/dynamicindex17/ddaccordion_suppliment.htm), to expand that sub menu.