Can you add a single class "sticky" to all of the notes? Then do this:
$('.sticky:hidden').each(function(i){ var t = $(this); setTimeout(function(){ t.fadeIn(500) }, i*100); }); Or if you can't change the classes: $('[className^=sticky]:hidden').each(... //same as above I'd prefer this one as it's independent of the number of 'stickies'. cheers, - ricardo On Jan 15, 2:09 pm, DJCarbon43 <djcarbo...@gmail.com> wrote: > I'm not sure what it is that its choking on. It doesnt throw any > errors in Firebug or Inspector > > If I do > > $(function() { > var i, numStickies = 9; > for (i = 1; i <= numStickies; i += 1) { > setTimeout( function() { > $(".sticky1:hidden").fadeIn(500); > }, 100 * i); > } > > }); > > It works fine (obviously) as its not pulling in the variable attribute > (" + i + ") > > Basically everything in > > setTimeout( function() { > $(".sticky1:hidden").fadeIn(500); > }, 100 * i); > > I get, its > > var i, numStickies = 9; > for (i = 1; i <= numStickies; i += 1) > > That I don't yet understand. I see that its basically saying "there > are 9 sticky classes. For each class, add a digit to the variable i > for the classname , and multiply the timeout by i. > > Its ingenious, but I haven't the first idea what is broken. > > Basically, I have a page that I created which pulls data out of a job > tracking database (doing this for free, in my spare time, to learn > more about database calls, php, and js) and paints the data set that > was queried down the page in sticky notes. It randomizes the color of > the notes, and onload fades them in. There may be 50 stickies, or as > few as one or two. Its pretty neat, and its working right now, but I'd > love to better understand your method. > > Thanks again! > D > > On Jan 15, 12:21 am, James Van Dyke <jame...@gmail.com> wrote: > > > Let me know what's not working, and maybe I can help you out. I don't > > have firebug handy, so I didn't test it. > > > On Jan 14, 11:44 pm,DJCarbon43<djcarbo...@gmail.com> wrote: > > > > I haven't gotten it working yet, but I understand the concept, and its > > > brilliant! > > > > Thank you very much! > > > > On Jan 14, 11:28 pm, James Van Dyke <jame...@gmail.com> wrote: > > > > > $(function() { > > > > var i, numStickies = 9; > > > > for (i = 1; i <= numStickies; i += 1) { > > > > setTimeout( function() { > > > > $(".sticky" + i + ":hidden").fadeIn(500); > > > > }, 100 * i); > > > > } > > > > > }); > > > > > Not sure if that's faster, but it's shorter and easier to change. > > > > > On Jan 14, 11:19 pm,DJCarbon43<djcarbo...@gmail.com> wrote: > > > > > > Being a bit of a newfie, I was wondering how this function could be > > > > > condensed: > > > > > > $(document).ready = > > > > > setTimeout(function(){ $(".sticky1:hidden").fadeIn(500); }, > > > > > 100); > > > > > setTimeout(function(){ $(".sticky2:hidden").fadeIn(500); }, > > > > > 200); > > > > > setTimeout(function(){ $(".sticky3:hidden").fadeIn(500); }, > > > > > 300); > > > > > setTimeout(function(){ $(".sticky4:hidden").fadeIn(500); }, > > > > > 400); > > > > > setTimeout(function(){ $(".sticky5:hidden").fadeIn(500); }, > > > > > 500); > > > > > setTimeout(function(){ $(".sticky6:hidden").fadeIn(500); }, > > > > > 600); > > > > > setTimeout(function(){ $(".sticky7:hidden").fadeIn(500); }, > > > > > 700); > > > > > setTimeout(function(){ $(".sticky8:hidden").fadeIn(500); }, > > > > > 800); > > > > > setTimeout(function(){ $(".sticky9:hidden").fadeIn(500); }, > > > > > 900); > > > > > > Is it possible, or is that as clean as can be? fadein time is the same > > > > > accross all sticky classes, but the timeout must be different for > > > > > each.