The JS:JQuery Animate Эффект не делать то, что его предполагается
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);
Это не делает ничего, когда пользователь нажимает кнопку отмены. Если я удалю обратный вызов из первого анимита, диалоговое окно исчезнет, и пользователь не сможет нажать отменить.
Я пропустил что-то очевидное здесь? Я использовал анимацию раньше и никогда не сталкивался с этой проблемой.
Это, казалось, исправить мою первую проблему, но ничего не делает для второго. Он будет перемещаться, но не исчезать, когда вы нажимаете «Отмена». Мое временное решение такого рода работ заключалось в том, чтобы анимировать непрозрачность и установить обратный вызов, который скрывает элемент, чтобы вы могли щелкнуть по нему. – Mark
@Mark - Когда я нажимаю отменить здесь, он оживляет и уходит, вы используете '' show ':' toggle'' при отмене также? Вот что я имею: '$ (" # cancel "). Click (function() {dialog.animate ({'top': '- 15px', 'show': 'toggle'}, 300);});' –
Я дам ему еще один выстрел. Может быть, это что-то в CSS или javascript, где это вызывает проблему? Потому что я сделал это так, как вы говорите раньше, но по какой-то причине он не работает в этом случае. Очень расстраивает. – Mark