Ext.MessageBox를 여러 번 클릭하면 끊기는 솔루션

1397 단어
이유는 간단하다. 애니메이션이 호출 종료 시간이 없으면 제거 코드를 호출합니다.
Ext.Component.prototype.animateFn = // or Ext.override( Ext.Component, { animateFn:
            function (animation, component, newState, oldState, options, controller) {
                var me = this;
                if (animation && (!newState || (newState && this.isPainted()))) {

                    this.activeAnimation = new Ext.fx.Animation(animation);
                    this.activeAnimation.setElement(component.element);

                    if (!Ext.isEmpty(newState)) {
                        var onEndInvoked = false;
                        var onEnd = function () {
                            if (!onEndInvoked) {
                                onEndInvoked = true;
                                me.activeAnimation = null;
                                controller.resume();
                            }
                        };

                        this.activeAnimation.setOnEnd(onEnd);
                        window.setTimeout(onEnd, 50 + (this.activeAnimation.getDuration() || 500));

                        controller.pause();
                    }

                    Ext.Animator.run(me.activeAnimation);
                }
            };

좋은 웹페이지 즐겨찾기