We'd love to help answer these questions over here:

http://groups.google.com/group/jquery-ui

Thanks.

- Richard

On Mon, Dec 14, 2009 at 7:02 PM, David_ca <david.calling...@gmail.com>wrote:

> Hi,
>
> With help from this tutorial
> http://bililite.com/blog/understanding-jquery-ui-widgets-a-tutorial/
> I started to create my own custom ui objects based on the ui widget
> factory
>
> I am hoping somebody could help me with the object syntax.
>
> //////////////////////////////////////////////////////////
> Question 1) Alternate way to call a method of the widget.
> I am able to call method darker() of my widget using this syntax:
>
> $().ready(function() {
>        var aGreen = $('#test4 .target').green4();
>        $('#test4 .target').green4('darker');
> });
>
> For me it is more natural to do the same thing using the below syntax
> but
> it does not work. Can someone tell me why it doesn't work and/or show
> my the best practice approach
> to create a variable of a widget object instantiation and reference it
> later.
>
> $().ready(function() {
>        var aGreen = $('#test4 .target').green4();
>        aGreen.darker();
> });
>
> ///////////////////////////////////////////////////////////////////
> Question 2) How make a function return something.
> Supposing my widget has a getHello() method that returns a "hello"
> string
> How do I call that method of my widget. I tried the below code but it
> does not work.
> $().ready(function() {
>        var aGreen = $('#test4 .target').green4();
>        console.log("response: "+ $('#test4 .target').green4('getHello'));
>
> });
>
>
>
> ///////////////////////////////////////////////////////////////////
> Question 3) How to pass a parameter to a function.
> Supposing I have setDarker(value) function that takes a parameter
> How do I invoke that function. Below is the syntax I hope would
> work but it doesn't.
>
> $().ready(function() {
>        var aGreen = $('#test4 .target').green4();
>        aGreen.setDarker("big");
>
> });
>
> BAnd finally below is the html code I used for testing,
> Also a  link to the same code is here
>
> http://docs.google.com/Doc?docid=0AbxHJxs0V9KvZGRucDVyNnJfMTdmZ3ZmOG4zNA&hl=en
>
> Thank you for any help
> David
>
>
> //////////////////////////////////////////////////////////////////////////////////
> <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://
> www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
> <html dir="ltr" xmlns="http://www.w3.org/1999/xhtml"; lang="en-
> US"><head profile="http://gmpg.org/xfn/11";>
>        <title>Hacking at 0300 : Understanding jQuery UI widgets: A
> tutorial</
> title>
>
>        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/
> jquery.min.js" type="text/javascript"></script>
>        <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/
> jquery-ui.min.js<http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/%0Ajquery-ui.min.js>"
> type="text/javascript"></script>
>
> <script type="text/javascript">
> $.widget('ui.green4', {
>        getLevel: function () { return this._getData('level'); },
>    setLevel: function (x) {
>        var greenlevels = this._getData('greenlevels');
>        var level = Math.floor(Math.min(greenlevels.length-1, Math.max
> (0,x)));
>        this._setData('level', level);
>        this.element.css({background: greenlevels[level]});
>    },
>    _init: function() { this.setLevel(this.getLevel()); },
>    darker: function() { this.setLevel(this.getLevel()-1); },
>        setDarker: function(value){console.log("value: "+value)},
>        getHello: function(){"hello"},
>    lighter: function() { this.setLevel(this.getLevel()+1); },
>    off: function() {
>        this.element.css({background: 'none'});
>        this.destroy();
>    }
> });
>
> $.ui.green4.defaults = {
>    level: 15,
>    greenlevels:
>
> ['#000','#010','#020','#030','#040','#050','#060','#070','#080','#090','#0a0','#0b0','#0c0','#0d0','#0e0','#0f0',
> '#fff']
> };
> </script>
>
> <script type="text/javascript">
> $().ready(function() {
>        var aGreen = $('#test4 .target').green4();
>        $('#test4 .target').green4('darker');
> });
> </script>
>
> </head>
> <body>
>
> <div id ="test4">
> <p class="target" >This is a test paragraph</p>
> </div>
>
>
> </body>
> </html>
>

Reply via email to