Cool. Good suggestion. Very smart.

Thanks,
Bob

On Jun 23, 2:48 am, samer <samerzia...@gmail.com> wrote:
> It's not wrong, but to save you all the lines in the switch you could
> implement your functions (init, advance, ...) in an object like
> var jMyPlugin = { init: function()....
>
> or
>
> jMyPlugin.prototype.init
>
> or whatever
>
> so then your switch case could be replaced with
>                  } else if (typeof options === "string"){
>                          jMyPlugin[option];
>                  }
>
> On Jun 23, 2:26 am, Bob Spryn <bobsp...@gmail.com> wrote:
>
>
>
> > So here's what I've done and it seems to be working pretty well. Let
> > me know if I'm doing anything weird. (I'm going to provide access to
> > the default options object publicly at some point, but its working for
> > now)
>
> > //Simple screen wizard plugin
> > ;(function($) {
> >         $.fn.screenWizard = function (options) {
>
> >                 var defaultOptions = {
> >                         size : "100",
> >                         duration : 1000,
> >                         defaultLeft : 0
> >                 };
>
> >                 if (typeof options === "object") {
> >                         return init(this, options);
> >                 } else if (typeof options === "string"){
> >                         switch (options) {
> >                                 case "advance":
> >                                         return advance(this);
> >                                         break;
> >                                 case "back":
> >                                         return back(this);
> >                                         break;
> >                                 case "reset":
> >                                 default:
> >                                         return reset(this);
> >                                         break;
>
> >                         }
> >                 }
>
> >                 function init(obj, options){
> >                         obj.settings = $.extend(defaultOptions, options);
> >                         return obj.each(function(){});
> >                 };
>
> >                 function advance(obj){
> >                         return obj.each(function(){
> >                                 var current = parseInt($(obj).css("left"));
> >                                 $(this).animate({left: (current - 
> > obj.settings.size) + "px"},
> > obj.settings.duration);
> >                         });
> >                 };
>
> >                 function back(obj){
> >                         return obj.each(function(){
> >                                 var current = parseInt($(obj).css("left"));
> >                                 $(this).animate({left: (current + 
> > obj.settings.size) + "px"},
> > obj.settings.duration);
> >                         });
> >                 };
>
> >                 function reset(obj){
> >                         return obj.each(function(){
> >                                 $(this).animate({left: 
> > obj.settings.defaultLeft },
> > obj.settings.duration);
> >                         });
> >                 };
>
> >         };
>
> > })(jQuery);
--~--~---------~--~----~------------~-------~--~----~
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 
jquery-dev+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/jquery-dev?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to