文本区域在动画后消失
Textarea disappears after animation
我使用下面的代码来动画文本区域的消失,一旦控件失去焦点,文本区域为空。
$(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);
}
});
我不知道为什么在动画完成之前执行display:none代码。
JSFiddle: https://jsfiddle.net/7pbuxtkz/
试试吧。它利用promise()
和done()
,而不是直接从回调本身使用它。虽然您的原始代码适用于我,但值得一试。Promise()
将确保所有的动画完成。
$('.notesArea').each(function () {
$(this).blur(function () {
var value = $(this).val().trim();
if (value == "") {
// empty; make it disappear
$(this).animate({
width: 0,
height: 0
}, 1000).promise().done(function () {
$(this).parent().css("visibility", "hidden")
});
}
});
});
让我知道它的进展,我们会从那里开始。正如我之前提到的,如果这不起作用,那么我觉得这是你的CSS发生的事情。如果是这样的话,我会四处看看,看看能为你找到什么。
promise()
的更多信息:https://api.jquery.com/promise/
我知道你说你使用了多个CSS文件,这就是为什么你没有在这里发布它。我会浏览这些CSS文件,看看是否有任何东西将transition-duration
设置为低于动画持续时间设置的值。
相关文章:
- 动画标题在向上滚动时消失
- JAVASCRIPT-动画块消失,就像它出现时一样
- 元素在使用 jQuery 对相对包装宽度进行动画处理时消失
- 按钮会因Chrome中同级元素上的动画而消失
- 线条消失的css动画
- Jquery 动画在单击几次后消失
- Div 动画会消失,而不是调整大小
- 为什么当我对其父元素进行动画处理时,我的 UL 消失了
- 加载动画在第二次 ajax 调用之前消失
- 函数不't更改该值,动画将消失
- 如何使用javascript消失动画gif
- 动画元素角度不消失
- 如何防止CSS伪元素在动画过程中消失
- 对象上的流体和动态动画出现和消失(HTML/JS/CSS)
- 我想要一个动画触发活动,并继续一旦活动状态消失
- 动画文本颜色jQuery CSS悬停消失
- 当动画“source-in”时,画布会消失.globalCompositeOperation面具
- 鼠标移出时,动画线消失
- 动画字(出现和消失)在HTML5 / jQuery / css3毫秒
- jQuery滑动动画没有完全消失