Opened 11 years ago

Last modified 9 years ago

#7123 open bug

Not all effects are .stop() able or :animated detectable

Reported by: Corey Frang Owned by:
Priority: minor Milestone: none
Component: ui.effects.core Version: 1.8.10
Keywords: Cc:
Blocked by: Blocking:

Description

Since some animations are handled by animating other elements, I think that we could potentially do something like this:

el.data('ec.currentAnimations', $animatedStuff);

That way we can punch .stop() to also look for this data key and call stop on children animations, as well as hooking :animated selector to do the same...

Change History (9)

comment:2 Changed 11 years ago by Corey Frang

Status: newopen

comment:3 Changed 10 years ago by Corey Frang

Milestone: 1.91.next

comment:4 Changed 10 years ago by reebalazs

I just noticed this issue when I wanted to do some accordion-style effects with "fold". Indeed a .stop(), or even a .stop(true, true) is insufficient in case an effect is animating other elements. In case of fold() the wrapper is involved.

So I am using the following workaround which "works for me" in the case of hiding/showing with "fold" and also works well if some non-animatid hides/showes are involved as well::

$.fn.stopcompletely = function() {

stop an animation comletely. Why we need this? - stop should be enough, but because we are using the composite animations predefined by jquery-ui, stop() does not completely stop them and some deferred part continues. This workaround attempts to put an "end to all". return this.each(function() {

var el = $(this); if (el.parent().is( ".ui-effects-wrapper" )) {

el.parent()

.stop(true, true) .replaceWith(el);

} el.stop(true, true);

});

};

Obviously the real solution not this, but as as the ticket suggests, I am just giving this comment because my workaround may be useful for others until this issue is solved properly.

Version 0, edited 10 years ago by reebalazs (next)

comment:5 Changed 9 years ago by Scott González

Milestone: 1.next1.10.0

comment:6 Changed 9 years ago by mikesherov

Keywords: usecssclip added

Still reproducible using latest: http://jsfiddle.net/CtETg/3/

comment:7 Changed 9 years ago by mikesherov

This problem goes away if we get rid of wrapper animations, and use css clip animations instead.

comment:8 Changed 9 years ago by mikesherov

Keywords: usecssclip removed

comment:9 Changed 9 years ago by tj.vantoll

Milestone: 1.10.0none
Note: See TracTickets for help on using tickets.