Я использую следующий код, чтобы анимировать исчезновение текстового поля после того, как элемент управления находится вне фокуса, а текстовое поле пуст.Textarea исчезает после анимации
$(this).blur(function()
{
var value = $(this).val().trim();
if (value == "")
{
// empty; make it disappear
$(this).animate({
width: 0,
height: 0
}, 1000,'linear',
function()
{$(this).parent().css("display", "none")});
}
});
Коробка исчезает без анимации. Но если я запускаю следующий код анимации все еще есть:
$(this).blur(function()
{
var value = $(this).val().trim();
if (value == "")
{
// empty; make it disappear
$(this).animate({
width: 0,
height: 0
}, 1000);
}
});
Я не знаю, почему дисплей: нет кода выполняется до завершения анимации.
JSFiddle: https://jsfiddle.net/7pbuxtkz/
Возможно, это связано с тем, что вы делаете анимацию на '$ (this)', но затем удаляете родительский элемент '$ (this)', а не '$ (this)' self. –
Замена $ (this) .parent(). Css ("display", "none"); с $ (this) .css ("display", "none"); тоже не помогает! –
Что произойдет, если вы указали селектор напрямую? '$ ('# myID'). css (" display "," none ");' ... nvm, просто прочитайте свой вопрос еще раз. Он работает, он просто делает это до окончания анимации. – Fata1Err0r