On Jan 23, 2013, at 7:48 AM, Köd wrote:

> Hi guys
> 
> To get a full view of my problem, please read: 
> http://stackoverflow.com/questions/14478903/script-aculo-us-toggle-appear-on-multiple-divs
> _____________________________________________
> 
> I have a simple question to ask you:
> Is it possible to use effect.opacity as a toggle effect?
> 
> The reason why I'm asking this is because when using effect.opacity the 
> assigned function can be spammed, hence making the div appear/fade over and 
> over. I was thinking that it might would be possible to do so by changing 
> something in the scriptaculous.js or effects.js file.
> 
> 
> If this is not possible, I would like to ask how you can use Effect.Toggle 
> (appear) on multiple div's within an <a href> containing an onclick. An 
> example:
> 
> <li><a href="#" onclick="Effect.toggle('DIV1, DIV2, DIV3', 'appear'); return 
> false;"></a>

It's going to be really hard to do this inline (I suppose it's possible, but 
not very readable) but if you create an observer function, then there should be 
a way to do this:

var toggleMyItems = function(items){
        $w(items).each(function(elm){
                var elm = $(elm);
                if(elm && ! elm.animating){
                        elm['animating'] = true;
                        Effect.toggle(
                                elm, 
                                'appear', {
                                        afterFinish: function(){
                                                elm.animating = false;
                                        }
                                }
                        );
                }
        });
});

Then you could call that from inline:
<a href="#" rel="DIV1 DIV2 DIV3" onclick="toggleMyItems(this.rel); return 
false;">Howdy</a>

Or better, observe the click and do it elsewhere (separation of concerns):

document.on('click', 'a.multi', function(evt, elm){
        evt.stop();
        toggleMyItems(elm.rel);
});

<a href="#" class="multi" rel="DIV1 DIV2 DIV3">Howdy</a>

Walter

> 
> Thanks.
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Prototype & script.aculo.us" group.
> To view this discussion on the web visit 
> https://groups.google.com/d/msg/prototype-scriptaculous/-/_mWlqcRjEnIJ.
> 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-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.

Reply via email to