Ticket #7123 (open bug)
Not all effects are .stop() able or :animated detectable
| Reported by: | gnarf | Owned by: | |
|---|---|---|---|
| Priority: | minor | Milestone: | none |
| Component: | ui.effects.core | Version: | 1.8.10 |
| Keywords: | Cc: | ||
| Blocking: | Blocked by: |
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
comment:3 Changed 2 years ago by gnarf
- Milestone changed from 1.9 to 1.next
http://bugs.jqueryui.com/ticket/5320 --- blind
comment:4 Changed 22 months 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.
comment:6 Changed 7 months ago by mikesherov
- Keywords usecssclip added
Still reproducible using latest: http://jsfiddle.net/CtETg/3/


http://jsfiddle.net/CtETg/