PDA

View Full Version : Activating accordion with AJAX tabbed content



joemccarroll
05-17-2011, 09:39 AM
Hi,

I've set up a menu which uses the AJAX tabbed content - http://www.dynamicdrive.com/dynamicindex17/ajaxtabscontent/index.htm.

The html pages I open have an Accordion - http://www.dynamicdrive.com/dynamicindex17/ddaccordion.htm

When I preview the page in my browser the first accordion functions as required.

When I click on an alternative tab, ie opening another html file with another accordion, the function breaks.

It seems as though I need to call the accordion script again after firing the tabbed content via AJAX.



I have pasted the two handlers below, does anyone know how I can solve this problem by combining the scripts so the accordion fires when I click a tab (the page isnt reloading just the div which is pulled in by the AJAX)


AJAX TABS -




<script type="text/javascript">

var countries=new ddajaxtabs("Questions", "countrydivcontainer")
countries.setpersist(true)
countries.setselectedClassTarget("link") //"link" or "linkparent"
countries.init()
instance.expandit(tabid_or_position)

</script>



ACCORDION -




<script type="text/javascript">

ddaccordion.init({
headerclass: "question", //Shared CSS class name of headers group
contentclass: "answer", //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: ["openanswer", "closedanswer"], //Two CSS classes to be applied to the header when it's collapsed and expanded, respectively ["class1", "class2"]
togglehtml: ["prefix", "<img src='/content/en/questions/images/down.png' style='width:19px; height:15px; float:left; padding:9px 5px 0px 0px;' /> ", "<img src='/content/en/questions/images/up.png' style='width:19px; height:15px; float:left; padding:9px 5px 0px 0px' /> "], //Additional HTML added to the header when it's collapsed and expanded, respectively ["position", "html1", "html2"] (see docs)
animatespeed: "slow", //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
//do nothing
}
})

</script>



Thanks in advance

Joe