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()
来做这个。