jQuery – Accordion
If you’ve been using the MS-AJAX Accordion control, stop it right now!
Seriously. Once I show you how easy the jQuery version is, you’ll want to drop it. Shoot! You may even want to go to the trouble of replacing the MS-AJAX Accordion control in the code you’ve already written.
If you’ve been to the jQuery site, you’ll see that they say the way to set up your HTML is to write code that looks something like this
<div class="accordion"> <div><a href="#">Header Text One</a> <div>Content for <br />the first section</div></div> <div><a href="#">Header Text Two</a> <div>Content for <br />the second section</div></div> </div>
But if you look at the demo code, you’ll see they did something entirely different.
This is what your HTML should look like for a simple accordion. Make sure you are sucking in the theme stylesheet or nothing will work.
<div class="accordion"> <h3><a href="#">Header Text One</a></h3> <div>Content for <br /> the first section</div> <h3><a href="#">Header Text Two</a></h3> <div>Content for <br />the second section</div> </div>
Note the two major differences. You don’t want to wrap each section with a DIV and the header needs to be a combination of h3 and an anchor tag.
To turn this HTML into an accordion, all you need to do is use the following jQuery script
$(function() { $(".accordion").accordion(); });
Which should give you an accordion that looks something like this

Since I didn’t style any of my content, it looks how it looks.
There are several options that you can pass in when you create the accordion in your jQuery. You can, for example, specify which pane to display first. If I wanted header two to be expanded, I would use
$(function() { $(".accordion").accordion({active:1}); });
If I want to change how the panes animate, I can pass in an animated option.
If you want to use something other than the h3 tag for your header, you can specify it with the header option.
This is another place where the documentation seems to be goofed up right now. The default for this seems to be h3. If we wanted to use the anchor tag instead we’d pass in
$(function() { $(".accordion").accordion({header: 'a'}); });
If you do change this, you’ll want to make sure you style the new header as a block level element–otherwise the header won’t span the width of the accordion.

You may also want to have the panels expand when the mouse rolls over them. You can do this with the MS-AJAX control and it should be no surprise that you can do that with the jQuery accordion as well. In fact, you could specify any event.
All you need to do is pass in the event option.
$(function() { $(".accordion").accordion({event: 'mouseover'}); });
As with other jQuery controls, the accordion has an event that will let you know when something has changed. This fires once any animations have completed. The function that gets called takes two parameters–the event and an object that has four properties hanging off of it: newHeader, oldHeader, newContent, and oldContent. So you can take control at that point. Perhaps you might use this to load the new content dynamically.
Other post in jQuery
- jQuery - The Man, The Myth, The Legend - October 8th, 2008
- Getting started with jQuery and ASP.NET - October 15th, 2008
- jQuery - Explaining Last Week's Code - October 21st, 2008
- Friday Books - "Learning jQuery" - October 24th, 2008
- jQuery Simple Selectors - October 28th, 2008
- Friday Books - "jQuery in Action" - October 31st, 2008
- jQuery Selectors - Looks just like CSS - November 6th, 2008
- VS2008 SP1 Hotfix to Support "-vsdoc.js" IntelliSense Doc Files - November 11th, 2008
- jQuery Looks like XPath - November 12th, 2008
- jQuery - class manipulation - November 19th, 2008
- jQuery - Events - December 2nd, 2008
- Host jQuery at Google (with Intellisense support) - December 10th, 2008
- jQuery - Calling Your Own Functions - December 16th, 2008
- Friday Books - jQuery Reference Guide - December 19th, 2008
- jQuery - Creating Plug-ins - December 23rd, 2008
- jQuery - Loading Partial Content - December 30th, 2008
- jQuery - Positioning Elements - January 6th, 2009
- AjaxToolKit TabControl Disabled Tab - January 12th, 2009
- jQuery, JSON, and ASP.NET - January 15th, 2009
- Review of the MDC at NYC - January 21st, 2009
- jQuery - Retrieving HTML Fragments - January 22nd, 2009
- jQuery GUI - Drag - February 3rd, 2009
- jQuery - Drop - February 12th, 2009
- jQuery UI - Resizable w/ ASP.NET Themes - February 18th, 2009
- jQuery, bgiframe and IE6 z-order hacks - February 19th, 2009
- jQuery - Sliders (scrollbars to the rest of us) - March 4th, 2009
- jQuery - Using Slider as a Scrollbar - March 12th, 2009
- jQuery - Auto Scrolling the Slider - March 23rd, 2009
- Live Presentation of jQuery - March 23rd, 2009
- Just a Week Away! - April 7th, 2009
- jQuery Tabs - April 9th, 2009
- jQuery Demos From Last Tuesday’s Presentation - April 16th, 2009
- jQuery – Accordion - May 6th, 2009
- CustomValidationControl and jQuery - May 11th, 2009
- Mixing ASP.NET, jQuery and JSON - May 12th, 2009
- jQuery Progressbar - May 20th, 2009
- jQuery – Dialog - June 2nd, 2009
- jQuery – Modal Dialog - June 9th, 2009
- Does jQuery Make Us Lazy? - June 18th, 2009
- jQuery Dialog – With Validation Controls - June 25th, 2009
- jQuery – Date Picker - July 2nd, 2009
- jQuery Splitter - July 21st, 2009
- jQuery Expand/Collapse Using Head Tags - October 15th, 2009
- Do you Need My Help? - November 18th, 2009
- Flash to jQuery - November 30th, 2009
- JQuery, Cufon, and Dynamic Content - December 1st, 2009
- jQuery, Each() and Async Gets - December 2nd, 2009
- jQuery and ASP.NET UpdatePanel - January 6th, 2010
- jQuery 1.4 Released - January 15th, 2010
Other Related Items:
Pond Skimmer NetEG DANNER MFG - POND SKIMMER NETRoyal ID: ASP02134UPC: 025033021341Vendor: EG DANNER MFGTelescoping net designed for surface skimmingHeavy duty aluminum constructionTelescoping handle to 6.5"Soft, fish - safe nylon nettingSure-grip handle
Beginning ASP.NET 3.5: In C# and VB (Programmer to Programmer)This book is for anyone who wants to learn how to build rich and interactive web sites that run on the Microsoft platform. With the knowledge you gain... Read More >
Ajax Wide Chisel/Scraper 1-5/16 x6-1/2 0.401 Shank Air Hammer Chisel 905Ajax .401 Shank. 1-5/16 Wide x 6-1/4 Long.









