Hello,

I've started to work on this project again. A solution to the problem
above will definitely help me a lot since much more complicated ui
behaviors have been decided for the gadget.

Thx in advance.
Cheers,
Ozberk

On Oct 28, 7:40 pm, Ozberk <[EMAIL PROTECTED]> wrote:
> Hello,
>
> I'm new to jQuery and I am currently working on google gadget which
> has some animations.
> I have wrote the jQuery code and manage to make it work:
>
> $('#itemn').click(function() {
>         if ($("#tabcontentn").is(":hidden")) {
>                 if(active == "init") {
>                         $("#tabcontentn").slideDown(300);
>                         active = "#tabcontentn";
>                 } else {
>                         $(active).slideUp(300, function() {
>                                 $("#tabncontent").slideDown(300);
>                                 active = "#tabcontentn";
>                         });
>                 }
>         } else {
>                 $("#tabcontentn").slideUp(300);
>         }
>
> }
>
> The problem has arisen after I decided to create a single forloop
> instead of binding all elements one by one. Although I managed to get
> it work with some workaround I'm not happy with the result:
>
> for(var i = 1; i < 6;i ++) {
>         item = '#item'+i;
>         $(item).click(function() {
>                 alert(vts(this));
>                 if ($(vts(this)).is(":hidden")) {
>                         if(active == "init") {
>                                 $(vts(this)).slideDown(300);
>                                 active = vts(this);
>                         } else {
>                                 that = vts(this);
>                                 $(active).slideUp(300, function() {
>                                         $(that).slideDown(300);
>                                         active = that;
>                                 });
>                         }
>                 } else {
>                         $(vts(this)).slideUp(300);
>                         active = 'init';
>                 }
>         });
>
> }
>
> function vts(e) {
>         var t;
>         t = e.id;
>         t = t.replace(/item/ig, '');
>         t = '#tabcontent'+t;
>         return t;
>
> }
>
> what I really want is creating some kind of code like this:
>
> for(var i = 1; i < 6; i++) {
>
> var item = '#item'+i;
> var element = '#tabcontent'+i;
> $(item).click(function() {
>         if ($(element).is(":hidden")) {
>                 if(active == "init") {
>                         $(element).slideDown(300);
>                         active = element;
>                 } else {
>                         $(active).slideUp(300, function() {
>                                 $(element).slideDown(300);
>                                 active = element;
>                         });
>                 }
>         } else {
>                 $(element).slideUp(300);
>         }
>
> }
> }
>
> The problem with the above code is the $(element) stays as the last
> element (#tabcontent5). I need to find a way toregisterthat element
> variable as a static value instead of the variable itself.
>
> Any help would be appreciated.
>
> Ozberk

Reply via email to