You can trim it down a bit by using the index that each() passes to
the callback function:

$('#jq-secondaryNavigation li').each( function(i) {
     var that = $(this);
    setTimeout(  function () {that.fadeIn('slow')}, i * 500 );
});



On Sep 22, 11:14 pm, ricardobeat <[EMAIL PROTECTED]> wrote:
> got it! :D
>
> $('#jq-secondaryNavigation li').each(function(){
>     var index = $('#jq-secondaryNavigation li').index(this);
>     setTimeout("$('#jq-secondaryNavigation li:eq("+index
> +")').fadeOut(300)",index*500);
>
> });
>
> 500 is the time between the animations.
>
> hope this helps,
> ricardo
>
> On Sep 22, 11:46 pm, ricardobeat <[EMAIL PROTECTED]> wrote:
>
> > This works, but there must be a better way (without using a global
> > var).
>
> > fade = function(){
> >     $(this).next().fadeIn(500,fade);};
>
> > $('#ul.menu li:first-child').fadeIn(500,fade);
>
> > On Sep 22, 5:34 pm, PaulC <[EMAIL PROTECTED]> wrote:
>
> > > I'm new to jQuery so be gentle!!
>
> > > I have a menu list, and I want each li to fade in one at a time, I can
> > > do this with the following code:
>
> > > $("ul.menu li:first-child").fadeIn(1000, function () {
> > >                 $(this).next().fadeIn(1000, function () {
> > >                         $(this).next().fadeIn(1000, function () {
> > >                                 $(this).next().fadeIn(1000, function () {
> > >                                         $(this).next().fadeIn(1000, 
> > > function () {
> > >                                                 
> > > $(this).next().fadeIn(1000, function (){
> > >                                                         
> > > $(this).next().fadeIn(1000, function (){
> > >                                                                 
> > > $(this).next().fadeIn(1000);
> > >                                                         })
> > >                                                 });
> > >                                         });
> > >                                 });
> > >                         });
> > >                 });
> > >         });
>
> > > As you can see its not nice! I'm sure there is a better way,
> > > especially as the menu is dynamic so I'd never know how many items
> > > there are.
>
> > > Any help or advice is appreciated.

Reply via email to