PDA

View Full Version : Glossy Accordion Menu



jdadwilson
07-09-2015, 01:59 AM
1) Script Title: Glossy Accordion Menu

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

3) Describe problem:

I am attempting to implement the subject menu on a customer's website. Everything seeming work fine but I have one major implementation issue.

In the example provided there is a javascript within the main html head that performs an init. I will admit that I know just enough about javascript to be dangerous. The customer's site has over 100 php scripts for various pages. I prefer not to have to include the init code in each of the head areas of all the scripts.

I have attempted to place the init code in a separate file and use an include but this does not fire the init. I tried including the init code in the ddaccordion.js file and then firing the init with an onload call in the body tag... didn't work.

Any suggestion on how to solve this issue would be greatly appreciated. The customer is pleased with the single test file I developed and I would like to implement it.

You can view the site index using the menu at the following link: www.txfannin.org/index-accordion.php (http://www.txfannin.org/index-accordion.php).

jdadwilson

ddadmin
07-09-2015, 06:27 AM
Will the accordion menu be identical across all pages of the site in terms of CSS class names, markup structure etc of the menu? If so you could just move the init() code into the very end of ddaccordion.js itself, for example:


//preload any images defined inside ajaxloadingmsg variable
ddaccordion.preloadimages(jQuery(ddaccordion.ajaxloadingmsg).filter('img'))

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: true, //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: true, //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(headers, 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
//do nothing
}
})