I tend to agree. But either way, is a wait() function technically feasible?

I tried hacking my way though it last night, and couldn't figure out the
implementation of code that would pause execution while a setInterval
function did it's work, and only THEN return the "this" jQuery object.

Does anyone know how to solve the technical hurdle here?

I guess you could call it "asynchronous setInterval"

JK

-----Original Message-----
From: [email protected] [mailto:[EMAIL PROTECTED] On
Behalf Of Bohdan Ganicky
Sent: Thursday, October 23, 2008 4:07 AM
To: jQuery Development
Subject: [jquery-dev] Re: Ultra-Chaining with jQuery


HI ricardobeat,

I don't think this is a good idea. Most of the time I expect
everything to happen as fast as possible. Waiting is mostly good for
animations only and even that's not always true. At least that's how I
feel it.

--
Bohdan

On Oct 23, 2:43 am, ricardobeat <[EMAIL PROTECTED]> wrote:
> That's exactly what I said the day before, you pratically read my
> mind :]http://ejohn.org/blog/ultra-chaining-with-jquery/#comment-321336
>
> What about making all methods 'wait' by default? That's what most
> people expect anyway, people new to jQuery only find out the
> animations run "in parallel" when they happen to casually chain
> something with it. Then you could pass a 'skip' argument if you wanted
> it to run immediatelly. Wouldn't be backwards compatible, but I wonder
> how many apps would break because of this, haven't seen anyone
> chaining animation methods.
>
> - ricardo
>
> On 20 out, 14:50, "Jeffrey Kretz" <[EMAIL PROTECTED]> wrote:
>
> > It seems that the tricky part is that the hide() function (as in all
> > animation functions) use a setInterval, but return the "this" object
> > immediately.
>
> > Ohhh.  I have an idea.
>
> > What if the wait() function set a flag in the object saying this object
is
> > waiting for an animation to finish.
>
> > Then, any subsequent jQuery.fn methods that are called get added to a
queue
> > to be executed after the animation is finished.
>
> > Once the animation is done, the wait flag is turned off and jQuery.fn
> > methods are executed immediately as usual.
>
> > So it would look like this:
>
> > jQuery("div").hide("slow")
> >   .wait()
> >   .addClass("done")
> >   .find("span")
> >     .addClass("done")
> >   .end()
> >   .show("slow")
> >   .wait()
> >   .removeClass("done")
> >   .find("span")
> >     .removeClass("done");
>
> > JK
>
> > -----Original Message-----
> > From: [email protected] [mailto:[EMAIL PROTECTED]
On
>
> > Behalf Of nikomomo
> > Sent: Monday, October 20, 2008 1:01 AM
> > To: jQuery Development
> > Subject: [jquery-dev] Re: Ultra-Chaining with jQuery
>
> > First, you can do that with the callback parameter.
>
> > jQuery("div").hide("slow")
> >   .wait()
> >   .addClass("done")
> >   .find("span")
> >     .addClass("done")
> >   .end()
> >   .show("slow", function() {
> >     $(this).removeClass("done");
> >   })
>
> > But to create a wait() function, I think you have to create a lock/
> > semaphore (a simple counter), incremented in jQuery.anime (or anything
> > that create a timer callback?), decremented at the end of the anime,
> > and tested in the wait() function.
>
> > On 20 oct, 00:29, "Jeffrey Kretz" <[EMAIL PROTECTED]> wrote:
> > > That's an interesting idea -- personally I like this syntax a lot.
>
> > > But because javascript isn't a true multithreading environment, I
wonder
> > if
> > > this would be possible at all.
>
> > > It's not like the wait() function can detect for the existence of an
> > > animation, pause execution until the animation is done, and only then
> > return
> > > the "this" object.
>
> > > Does anyone know if there's a way to create such behavior?
>
> > > JK
>
> > > -----Original Message-----
> > > From: [email protected] [mailto:[EMAIL PROTECTED]
On
>
> > > Behalf Of xwisdom
> > > Sent: Sunday, October 19, 2008 12:43 PM
> > > To: jQuery Development
> > > Subject: [jquery-dev] RE: Ultra-Chaining with jQuery
>
> > > Sorry Guys but I could not find the thread mentioned on John's
> > > website:http://ejohn.org/blog/ultra-chaining-with-jquery/
>
> > > Anyway, the chaining system looks ok but rather than using a chain()
> > > metod how about using a wait() method that would block or process
> > > succeeding calls after the preceding call has been completed:
>
> > > jQuery("div").hide("slow")
> > >   .wait()
> > >   .addClass("done")
> > >   .find("span")
> > >     .addClass("done")
> > >   .end()
> > >   .show("slow")
> > >   .wait()
> > >   .removeClass("done")
>
> > > Just my 2cents




--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"jQuery Development" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/jquery-dev?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to