Identify assigns an ID to the element if none exists, and that ID will  
persist until the page is done processing. Basically, it's a throw- 
away line to ensure that if the element that fired the event doesn't  
have an ID, the rest of your code doesn't go sproing. You could just  
as easily throw in an outer if(elm.id) test wrapped around the inner  
parts.

Queue works by allowing you to define as many different queues as you  
like, and for each queue, stacking up the effects that are fired  
within it so that they have to complete before another effect can  
begin. By passing the ID of the element as the queue name, you give  
each element its own stack of effects, keeping another effect from  
messing with it and giving each effect time to complete fully.

Walter

On Dec 24, 2009, at 3:00 PM, evilC wrote:

> Thanks walter, though I am not sure I understand that code.
> if the identify command assigns and ID, it returns it, but the code
> throws it away then does a switch on the id on the next line.
> It also appears that maybe I missed something about how queue works if
> you are passing it the id of the element.
> I will have to look into it, thanks muchly for your input.
>
> On Dec 24, 4:16 pm, Walter Lee Davis <wa...@wdstudio.com> wrote:
>> You might find it easier to set up queues if you don't use inline
>> code. Create an observer in the head of your page, and then you can
>> keep all your code in one place and integrate the effects so they are
>> aware of each other's existence and state.
>>
>> document.observe('dom:loaded', function(){
>>         Element.addMethods({
>>                 attractAttention: function(obj){
>>                         new Effect.Pulsate(obj, { pulses: 3,  
>> duration: 1, queue: this.id});
>>                 }
>>         });
>>         $('parentDiv').observe('mouseover',function(evt){
>>                 var elm = evt.element();
>>                 elm.identify(); //patch anything you didn't ID
>>                 switch(elm.id){
>>                         case 'foo':
>>                                 $('foo_target').attractAttention();
>>                         break;
>>                         case 'bar':
>>                                 $('bar_target').attractAttention();
>>                         break;
>>                         case 'baz':
>>                                 $('baz_target').attractAttention();
>>                         break;
>>                         default:
>>                         break;
>>                 }
>>         });
>>
>> });
>>
>> Hope this helps,
>>
>> Walter
>>
>> On Dec 24, 2009, at 2:19 AM, evilC wrote:
>>
>>> As an afterthought, I guess it is by design.
>>> If you trigger it, it probably uses the current state as a starting
>>> point. I guess what is needed is a way to tell it to stop the  
>>> current
>>> animation if triggered again before it finishes, or ignore  
>>> subsequent
>>> requests until the current animation is complete.
>>
>>> I tried queueing effects, but had no luck.
>>
>>> --
>>
>>> You received this message because you are subscribed to the Google
>>> Groups "Prototype & script.aculo.us" group.
>>> To post to this group, send email to 
>>> prototype-scriptaculous@googlegroups.com
>>> .
>>> To unsubscribe from this group, send email to 
>>> prototype-scriptaculous+unsubscr...@googlegroups.com
>>> .
>>> For more options, visit this group 
>>> athttp://groups.google.com/group/prototype-scriptaculous?hl=en
>>> .
>
> --
>
> You received this message because you are subscribed to the Google  
> Groups "Prototype & script.aculo.us" group.
> To post to this group, send email to prototype-scriptaculous@googlegroups.com 
> .
> To unsubscribe from this group, send email to 
> prototype-scriptaculous+unsubscr...@googlegroups.com 
> .
> For more options, visit this group at 
> http://groups.google.com/group/prototype-scriptaculous?hl=en 
> .
>
>

--

You received this message because you are subscribed to the Google Groups 
"Prototype & script.aculo.us" group.
To post to this group, send email to prototype-scriptacul...@googlegroups.com.
To unsubscribe from this group, send email to 
prototype-scriptaculous+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/prototype-scriptaculous?hl=en.


Reply via email to