What about another boolean parameter? like $(sth).show([speed,]true[,callback]).addClass("done");
On Oct 6, 12:57 am, "John Resig" <[EMAIL PROTECTED]> wrote: > I want to add one more proposal to the > pile:http://dev.jquery.com/~john/plugins/chain/ > > A new .chain() method that allows you to write code like this: > jQuery("div") > .chain("hide", "slow") > .addClass("done") > .find("span") > .addClass("done") > .end() > .chain("show", "slow") > .removeClass("done") > .end() > .end(); > > I had messed around with implementing something similar before but at > gotten stymied on the implementation. I appear to have it working now. > > --John > > On Sun, Oct 5, 2008 at 9:18 AM, John Resig <[EMAIL PROTECTED]> wrote: > > I already did it: > >http://dev.jquery.com/~john/plugins/callback/ > > > my other proposal: > >http://dev.jquery.com/~john/plugins/callback/old.html > > > I'm working on a third proposal now. > > > A nice thing about $.callback is that it's very simple (perhaps too > > simple - no support for chaining). > > > --John > > > On Sat, Oct 4, 2008 at 7:09 PM, Ariel Flesler <[EMAIL PROTECTED]> wrote: > >> Why don't we make a plugin out of this ? there's no so much of a need for > >> this on the core. > >> Then, if it seems successful, we can add it (just like offset/dimensions). > > >> On Sat, Oct 4, 2008 at 4:26 PM, Brandon Aaron <[EMAIL PROTECTED]> > >> wrote: > > >>> Although it seems like we are getting further off-topic... I often pass > >>> around function references as strings. For example this is a common > >>> pattern > >>> that I use. > >>> $('div')[ test() ? 'doSomething' : 'doSomethingElse' ](); > >>> Using something like $.callback is very explicit as to its purpose. After > >>> all callback is exactly what we call it in the docs, etc. Granted I don't > >>> mind using anonymous callbacks, if I need the code to be cleaner, I'll use > >>> named functions to be even more explicit. But of the other proposals I > >>> like > >>> $.callback the best. > >>> -- > >>> Brandon Aaron > >>> On Sat, Oct 4, 2008 at 9:56 AM, Cloudream <[EMAIL PROTECTED]> wrote: > > >>>> I do not like passing a jQuery method name as a string to one special > >>>> method. > > >>>> A new (and a little strange) usage to jQuery. > > >>>> On Oct 4, 5:06 am, "Brandon Aaron" <[EMAIL PROTECTED]> wrote: > >>>> > I'd prefer this as well. > > >>>> > I think this also helps a few common cases of var self = $(this); > >>>> > -- > >>>> > Brandon Aaron > > >>>> > On Fri, Oct 3, 2008 at 4:01 PM, Yehuda Katz <[EMAIL PROTECTED]> wrote: > >>>> > > $.callback("addClass", "hello") is ok with me. > >>>> > > -- Yehuda > > >>>> > > On Fri, Oct 3, 2008 at 1:58 PM, Ariel Flesler <[EMAIL PROTECTED]> > >>>> > > wrote: > > >>>> > >> Yeah, well. We could provide an interface for registering these > >>>> > >> methods > >>>> > >> for those plugins that are interested. Still, someone could expect a > >>>> > >> method > >>>> > >> to be registered when it's not. > > >>>> > >> The other option is to pass the method name as first argument, works > >>>> > >> around this but it loses the I-call-the-analog-method thing. > > >>>> > >> On Fri, Oct 3, 2008 at 5:51 PM, Yehuda Katz <[EMAIL PROTECTED]> > >>>> > >> wrote: > > >>>> > >>> The only tricky thing here is that because JS has no method_missing > >>>> > >>> or > >>>> > >>> cross-browse __noSuchMethod__, we'd be forced to explicitly write > >>>> > >>> all the > >>>> > >>> proxies, which could become messy when they work for core methods, > >>>> > >>> but not > >>>> > >>> all plugins. > >>>> > >>> Or maybe I'm just being a nervous nelly. > > >>>> > >>> -- Yehuda > > >>>> > >>> On Fri, Oct 3, 2008 at 1:46 PM, Ariel Flesler > >>>> > >>> <[EMAIL PROTECTED]>wrote: > > >>>> > >>>> Note that John's code doesn't do actual currying, but partial > >>>> > >>>> evaluation. > > >>>> > >>>>http://en.wikipedia.org/wiki/Partial_evaluation > > >>>> > >>>> Currying is a complex concept in comparison to the latter. > >>>> > >>>> Anyway, you can change the name if you want, the idea is simple, > >>>> > >>>> create > >>>> > >>>> a closure with fixed parameters. > >>>> > >>>> We can name it callback (though it's long) > > >>>> > >>>> jQuery("#test").hide("slow", jQuery.callback.show("slow") ); > > >>>> > >>>> Not to hard to understand IMO, and no CS involved :) > > >>>> > >>>> On Fri, Oct 3, 2008 at 5:41 PM, Yehuda Katz <[EMAIL PROTECTED]> > >>>> > >>>> wrote: > > >>>> > >>>>> As in Computer Science. > >>>> > >>>>> Using a currying function requires people new to jQuery to go > >>>> > >>>>> look it > >>>> > >>>>> up, where they'll encounter: > > >>>> > >>>>>http://en.wikipedia.org/wiki/Curry > > >>>> > >>>>> and probably eventually: > > >>>> > >>>>>http://en.wikipedia.org/wiki/Currying > > >>>> > >>>>> "Given a function *f* of type [image: f \colon (X \times Y) \to > >>>> > >>>>> Z], > >>>> > >>>>> then *currying* it makes a function [image: \mbox{curry}(f) > >>>> > >>>>> \colon X > >>>> > >>>>> \to (Y \to Z)]. That is, curry(*f*) takes an argument of type *X* > >>>> > >>>>> and > >>>> > >>>>> returns a function of type [image: Y \to Z].*Uncurrying* is the > >>>> > >>>>> reverse transformation." > > >>>> > >>>>> Prototype added features like this to 1.6, and while they're > >>>> > >>>>> interesting and useful, they make it hard for people coming to a > >>>> > >>>>> codebase > >>>> > >>>>> (especially people new to the framework) to understand what's > >>>> > >>>>> happening in > >>>> > >>>>> the code. > > >>>> > >>>>> On Fri, Oct 3, 2008 at 1:34 PM, Ariel Flesler > >>>> > >>>>> <[EMAIL PROTECTED]>wrote: > > >>>> > >>>>>> CS as in Counter Strike ? :D > >>>> > >>>>>> Heh, no really... what is CS, forgive my ignorance :P > > >>>> > >>>>>> On Fri, Oct 3, 2008 at 5:30 PM, Yehuda Katz <[EMAIL PROTECTED]> > >>>> > >>>>>> wrote: > > >>>> > >>>>>>> Any feature that requires knowledge of CS is a no-go in my book > >>>> > >>>>>>> :P > >>>> > >>>>>>> -- Yehuda > > >>>> > >>>>>>> On Fri, Oct 3, 2008 at 1:27 PM, Ariel Flesler > >>>> > >>>>>>> <[EMAIL PROTECTED]>wrote: > > >>>> > >>>>>>>> Eh, nothing, got it wrong. > > >>>> > >>>>>>>> We could just save all these methods on a special object. > > >>>> > >>>>>>>> jQuery("#test").hide("slow", jQuery.curry.show("slow") ); > > >>>> > >>>>>>>> The name could be changed of course. > > >>>> > >>>>>>>> Or renamed methods (probably bad option) > > >>>> > >>>>>>>> jQuery("#test").hide("slow", jQuery.curriedShow("slow") ); > > >>>> > >>>>>>>> On Fri, Oct 3, 2008 at 5:14 PM, John Resig > >>>> > >>>>>>>> <[EMAIL PROTECTED]>wrote: > > >>>> > >>>>>>>>> > It is indeed. You can't expect parameters though and you > >>>> > >>>>>>>>> > could > >>>> > >>>>>>>>> get conflict > >>>> > >>>>>>>>> > with the actual parameters sent by the caller. > > >>>> > >>>>>>>>> I'm not sure what you're referring to - are you referring to > >>>> > >>>>>>>>> a bug > >>>> > >>>>>>>>> in > >>>> > >>>>>>>>> the code? Do you have an example? > > >>>> > >>>>>>>>> --John > > >>>> > >>>>>>>> -- > >>>> > >>>>>>>> Ariel Flesler > >>>> > >>>>>>>>http://flesler.blogspot.com > > >>>> > >>>>>>> -- > >>>> > >>>>>>> Yehuda Katz > >>>> > >>>>>>> Developer | Engine Yard > >>>> > >>>>>>> (ph) 718.877.1325 > > >>>> > >>>>>> -- > >>>> > >>>>>> Ariel Flesler > >>>> > >>>>>>http://flesler.blogspot.com > > >>>> > >>>>> -- > >>>> > >>>>> Yehuda Katz > >>>> > >>>>> Developer | Engine Yard > >>>> > >>>>> (ph) 718.877.1325 > > >>>> > >>>> -- > >>>> > >>>> Ariel Flesler > >>>> > >>>>http://flesler.blogspot.com > > >>>> > >>> -- > >>>> > >>> Yehuda Katz > >>>> > >>> Developer | Engine Yard > >>>> > >>> (ph) 718.877.1325 > > >>>> > >> -- > >>>> > >> Ariel Flesler > >>>> > >>http://flesler.blogspot.com > > >>>> > > -- > >>>> > > Yehuda Katz > >>>> > > Developer | Engine Yard > >>>> > > (ph) 718.877.1325 > > >> -- > >> Ariel Flesler > >>http://flesler.blogspot.com --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "jQuery Development" group. To post to this group, send email to jquery-dev@googlegroups.com 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 -~----------~----~----~----~------~----~------~--~---