У меня есть asp: UpdatePanel, которая скрыта или не основана на коде, стоящем за asp: DropDownList в OnSelectedIndexChanged.
Когда отображается эта панель обновлений, есть некоторые jquery, чтобы выделить новую область:
$(document).ready(function(){
$('#Alert').animate({backgroundColor:'#FF953F'});
$('#Alert').animate({backgroundColor:'white'}, 3000);
});
Это прекрасно работает, когда панель обновлений снова показывается, но при первом возвращении jquery запускается до кода позади, поэтому возникает пауза 3000 мс, а затем панель отображается сбез выделения.
Как я могу убедиться, что jquery запускается после отображения панели?
Я попытался добавить в JavaScript видимое и задержку:
$('#<%=ddlInfo.ClientID %>').change(function(){
if( $('#Alert').is(':visible')){
$('#Alert').animate({backgroundColor:'#FF953F'});
$('#Alert').animate({backgroundColor:'white'}, 3000);
};
});
Это не внесло изменений, так как JavaScript запускается до возвращения панели.
И задержка:
$('#Alert').delay(1000).animate({backgroundColor:'#FF953F'});
Это прекрасно сработало, когда панель не отображалась как код позадипришлось подождать, пока задержка не закончится, прежде чем она снова сможет показывать панель.
Спасибо за любые идеи по этому поводу.