Thanks - that's something of a workaround, though; it doesn't address
the issue of why the content is overlaid, but simply stops the effect
from occuring at all if there's already one in the queue. Given that
this results in a link that sometimes does respond to a click and
sometimes doesn't, it's not ideal. Sorry - I'm not ungrateful, it at
least stops the overlay and I hadn't thought of it :)

But I'm still at a loss as to why the overlay would be occuring at
all. Well, not entirely - it's because BlindUp doesn't hide the
content until the animation has finished. But I'm not sure what I can
do about it :/





On May 27, 5:22 pm, Tom Gregory <[EMAIL PROTECTED]> wrote:
> Use a scoped effect queue with a limit of 1.
>
> http://github.com/madrobby/scriptaculous/wikis/effect-queues
>
> TAG
>
> On May 27, 2008, at 10:16 AM, ben wrote:
>
>
>
> > Hi.
>
> > I'm using BlindUp/BlindDown to collapse/expand a bunch of list items
> > that contain further content markup (example HTML below).
>
> > My problem is that if you double-click a list header, thus effectively
> > blinding it down and up in quick succession, content gets overlaid. On
> > the way back up, instead of the list items below sliding up and
> > gradually obscuring the content to be hidden, the list items slide up
> > but the content stays visible underneath them until the slide has
> > finished - only then does the content disappear.
>
> > I'm using this script quite extensively elsewhere on the site and it
> > seems only to occur when used with embedded ULs. But I can't figure
> > out why.
>
> > I'm also aware (see comments) that I'm probably implementing an
> > almighty kludge to get round the problem of things-needing-a-height-
> > but-you-don't-know-it. If this is causing my problem, or if there's a
> > more elegant way to fix it, I'd gratefully receive any pointers.
>
> > Cheers :)
>
> > Example HTML:
> > <ul class="expando" style="padding-bottom:5px;">
> >    <li id="things_header" class="expando">
> >            <a href="#" title="Things" 
> > onclick="toggleExpando('things','slow');
> > return false;">Things</a>
> >            <div id="digital_content" style="display:none;">
> >                    <ul>
> >                            <li>Fish</li>
> >                            <li>Chairs</li>
> >                            <li>The letter 'O'</li>
> >                            <li>My mate Dave</li>
> >                    </ul>
> >            </div>
> >    </li>
> > </ul>
>
> > Script:
> > function toggleExpando(elmnt,d){
>
> >    var oHeader = $(elmnt + '_header');
> >    var oContent = $(elmnt + '_content');
>
> >    if (oHeader.hasClassName('expanded')){
> >            oHeader.removeClassName('expanded');
> >            oContent.setStyle({height:oContent.scrollHeight+'px'});
> >            new Effect.BlindUp(oContent, {duration:d,
> > transition:Effect.Transitions.EaseFromTo, queue: {position:'end',
> > scope: 'expandos'} });
> >    }else{
> >            // BlindDown needs height specified. But we can't specify it (see
> > comment below). This is fugly, but it works.
> >            oContent.style.display = 'block';
> >            oContent.setStyle({height:oContent.scrollHeight+'px'});
> >            oContent.style.display = 'none';
> >            oHeader.addClassName('expanded');
> >            new Effect.BlindDown(oContent, {duration:d,
> > transition:Effect.Transitions.EaseFromTo, queue: {position:'end',
> > scope: 'expandos'} });
> >            oContent.setStyle({height:''}); // nested expando elements need
> > flexible height, otherwise the parent will crop any expanding children
> >            pageTracker._trackPageview('expando/' + elmnt);
> >            console.log('expando/' + elmnt);
> >    }
> > }
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Spinoffs" group.
To post to this group, send email to rubyonrails-spinoffs@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-spinoffs?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to