Jquery 中途停止后是否继续向下滑动()?

Jquery 中途停止后是否继续向下滑动()?,jquery,jquery-animate,slidedown,Jquery,Jquery Animate,Slidedown,在我之前中途停止了一个slideDown()动画(或slideUp())之后,如何让它继续?我相信它不会,这与slideDown()只作用于最初隐藏的元素有关。这些动画中的元素不会被隐藏 有没有办法避免这种行为,并让jQuery在停止后继续设置动画?(编辑:或者如果您知道使用slideDown()的替代解决方案,当然也可以) 请同时查看,以了解我正在尝试做什么 至于一些背景信息: 我想为表单验证消息实现这种行为。我一个一个地把它们滑下来,过了一会儿,再把它们滑上去。但是,如果用户重新提交表单的

在我之前中途停止了一个
slideDown()
动画(或
slideUp()
)之后,如何让它继续?我相信它不会,这与
slideDown()
只作用于最初隐藏的元素有关。这些动画中的元素不会被隐藏

有没有办法避免这种行为,并让jQuery在停止后继续设置动画?(编辑:或者如果您知道使用
slideDown()
的替代解决方案,当然也可以)

请同时查看,以了解我正在尝试做什么


至于一些背景信息:

我想为表单验证消息实现这种行为。我一个一个地把它们滑下来,过了一会儿,再把它们滑上去。但是,如果用户重新提交表单的速度快于消息消失的速度,并且某些“新”消息已经存在,并且尚未完成动画制作(向上或向下滑动),我希望再次向下滑动它们。

您要做的是在动画之前使用.stop(),例如

$('#element').stop().slideUp();
查看jQuery的示例,网址为


如果您需要更多帮助或说明,请告诉我:)

您需要做的是在制作动画之前使用.stop(),例如

$('#element').stop().slideUp();
查看jQuery的示例,网址为


如果您需要更多帮助或说明,请告诉我:)

请说明
向下滑动的
是否在
.data()中完成。如果由于
停止
功能而未完成,则
隐藏
并再次
向下滑动

请参见

$( 'div' ).hide().slideDown(1000, function() {
    $(this).data("completed", "completed");
});
setTimeout( function() {
    $( 'div' ).stop( true );
}, 500 );
setTimeout( function() {
    if ($('div').data("completed") !== "completed") {
        $( 'div' ).hide().slideDown();
    }
}, 2000 );

指示是否在
.data()
中完成了
向下滑动。如果由于
停止
功能而未完成,则
隐藏
并再次
向下滑动

请参见

$( 'div' ).hide().slideDown(1000, function() {
    $(this).data("completed", "completed");
});
setTimeout( function() {
    $( 'div' ).stop( true );
}, 500 );
setTimeout( function() {
    if ($('div').data("completed") !== "completed") {
        $( 'div' ).hide().slideDown();
    }
}, 2000 );
什么样的

对于中间的
slideUp()
,请删除
hide()

什么样的

对于中间的
slideUp()
,请删除
hide()


对不起,这对我没用。你指的是哪个例子?最后一个?如果是这样,那就使用
slideToggle()
。对不起,这对我没有任何帮助。你指的是哪个例子?最后一个?如果是这样的话,那就使用
slideToggle()
。我不知道你的意思,但你能猜到吗?@Antony-Wow,这其实很简单。但是,如果元素已完成其动画,则会再次重新启动整个动画。(你的建议)我想避免这样。所以,如果你对这个问题也有一个聪明的解决方案,就把它写进一个答案里。然后,我会用它做一些进一步的测试,如果它能完成任务,我会给你奖金。我不知道你的意思,但你能猜到吗?@Antony Wow,这其实很简单。但是,如果元素已完成其动画,则会再次重新启动整个动画。(你的建议)我想避免这样。所以,如果你对这个问题也有一个聪明的解决方案,就把它写进一个答案里。然后,我会用它做一些进一步的测试,如果它成功了,我会给你奖金。是的,基本上就是这样。我将使用
.data()
,而不是
.attr()
,但这只是一个小细节。谢谢我忘了我还不能给你赏金;不幸的是,我不得不再等22个小时。明天就来,谢谢。很高兴我能帮忙。你说得对,我应该用
.data()
来做这个。是的,基本上就是这样。我将使用
.data()
,而不是
.attr()
,但这只是一个小细节。谢谢我忘了我还不能给你赏金;不幸的是,我不得不再等22个小时。明天就来,谢谢。很高兴我能帮忙。你说得对,我应该用
.data()
来做这个。