JS:
var dialog = jQuery('#dialog');
dialog.animate({
'top':'-4px',
'display':'toggle'
}, 300);
CSS:
#dialog {
display: none;
position: relative;
width: 180px;
height: auto;
margin-left: -20px;
top: -15px;
}
Проблема:
Анимация выполняется, и div появляется в поле зрения, но после выполнения анимации он снова скрывает div, но остается в своей новой анимированной позиции. Я знаю это, потому что он добавляет inline style = "top: -4px", но встроенный стиль отображения исчезает после выполнения анимации.
Другая проблема заключается в том, что это диалоговое окно, в котором есть кнопка отмены, так что даже если я добавлю обратный вызов dialog.show (); после завершения анимации. Кнопка отмены не работает.
Анимация кнопки отмены:
dialog.animate({
'top':'-15px',
'display':'toggle'
}, 300);
Это ничего не делает, когда пользователь нажимает кнопку отмены. Если я удалю обратный вызов из первой анимации, диалоговое окно исчезнет, и пользователь не сможет нажать кнопку «Отмена».
Я что-то упускаю здесь очевидное? Я раньше использовал animate и никогда не сталкивался с этой проблемой.