Well this turned out to be so easy to fix I would laugh, except I
should have seen this a lot sooner. All you need to do is make sure
each link shares a common class then use hide() to remove them all and
show() to show the layer with the ID that was clicked.

http://www.whatbird.com/wwwroot/Components/Accordion%20Menu.html

      $('#Location').click(function() {
                 $("#attrtext").text("Location");       /* displays the name of 
this
attribute layer */
                 $(".valuelink").hide();                        /* hides all 
layers with the
class .valuelink */
                 $("#locationlayer").show();            /* display the layer 
user clicked  */
   });

The accordian I am using is from Adobe Labs (free) and comes with
Dream CS3.

 You also said:

1) that it looks like there could be around 50 links... it would be
easier
to read, develop and maintain if there was one function (or a few
functions)
that governed all links and data instead of one click function per
link.
With three links (currently) it's manageable... with 50 it would be a
needlessly verbose and bloated beast.

Do you think my code is needlessly verbose (its okay I can take it).

Are you suggesting that there be one routine (js or jq) that is the
click handler for any link that is clicked and it figures out where it
came from by its id and then does all the manipulation in that one
click handler.

Would I use something like

$(<div.id>).click ...

Mitch

On Aug 2, 11:19 pm, "Brian Cherne" <[EMAIL PROTECTED]> wrote:
> Well, I haven't seen any other accordion panes with working links so it's
> hard to tell where he'll put that data... if the data DIVs were all siblings
> (as they are currently) then this would work. There is a minor problem with
> siblings in that Mitchell's detail pane header (attrtext) is a sibling
> too... so, given the existing structure, the jQuery code would have to be
> something more like:

Reply via email to