2013-03-19 2 views
1

Мне нужно выполнить действие после анимации JQuery. Я знаю, что это возможно с помощью функции обратного вызова, но вот кикер: я использую среду EasyUI. Моя функция подключена к макету «OnExpand».EasyUI After Expand & JQuery Animate

Из их документации это событие говорит о том, что оно происходит ПОСЛЕ того, как происходит событие разворота, но это не значит, что это не так. Он не синхронизируется с анимацией ... поэтому он запускается до завершения анимационного события.

Я не знаю, есть ли какие-либо меры вокруг этого ... любые идеи были бы очень благодарны ... Я пробовал обращаться к форумам EasyUI, но они не одобряют мой запрос на присоединение.

Спасибо

$(regionPanel).panel({ 
onExpand : function() { 
     ...do something here after expand event completes... 
    } 
}); 

ответ

1

Попробуйте изменить следующий метод в jquery.easyui.min.js,

function _30f(_310,_311){ 
    var _312=$.data(_310,"layout").panels; 
    var _313=_314(); 
    var p=_312[_311]; 
    if(p.panel("options").onBeforeExpand.call(p)==false){ 
    return; 
    } 
    var _315="expand"+_311.substring(0,1).toUpperCase()+_311.substring(1); 
    _312[_315].panel("close"); 
    p.panel("panel").stop(true,true); 
    p.panel("expand",false).panel("open").panel("resize",_313.collapse); 
    p.panel("panel").animate(_313.expand,function(){ 
    _2e9(_310); 
    p.panel("options").onExpand.call(p);//this is the added line 
});