如何重置jquery动画以重新开始?
我已经构建了一段很好的代码,一些动画和一些点击/悬停事件,其中有一小行。我打算在多个html文档上使用它(这是一个游戏,你必须得到正确的答案并继续下一个问题),在另一个html中使用完整的页面滑块构建(我不想多次加载DOM,毫无意义):未解决的问题是:如何在不重新加载的情况下重置代码?如何让它清理一切,迄今为止,并重新开始?如何重置jquery动画以重新开始?,jquery,methods,reset,Jquery,Methods,Reset,我已经构建了一段很好的代码,一些动画和一些点击/悬停事件,其中有一小行。我打算在多个html文档上使用它(这是一个游戏,你必须得到正确的答案并继续下一个问题),在另一个html中使用完整的页面滑块构建(我不想多次加载DOM,毫无意义):未解决的问题是:如何在不重新加载的情况下重置代码?如何让它清理一切,迄今为止,并重新开始? 我是一个初学者,在别人的片段上构建东西。我想这一定很简单,很基本,没有人回答。。。要将以前所做的一切制作成动画的东西是不好的:太多的东西以及绑定和解除绑定。$(元素)。停止
我是一个初学者,在别人的片段上构建东西。我想这一定很简单,很基本,没有人回答。。。要将以前所做的一切制作成动画的东西是不好的:太多的东西以及绑定和解除绑定。$(元素)。停止(),然后重新运行动画。没有简单的答案,因为这一切都取决于您所做的事情、需要重置的状态、需要重置的UI元素等等。我想你必须建立自己的重置方法,将所有东西设置为初始状态或。。。您可以选择简单的方法,只需重新加载页面。谢谢您耐心的回答。两者都是正确的:
- 对于一个动画,“停止”方法有效
- 在多个链接动画的情况下-抱歉,没有简单的方法。如果需要简短但不太优雅的解决方案,请重新加载。要正确地执行此操作,请学习javascript以构建函数的逻辑链。仅使用jQuery无法运行很长时间
- 我是这样做的:(但不确定是否完全正确)
我有一个动画,每次代码运行时都保持这个位置。为了修复它,我使用了:
function(){ $('.target').removeAttr('style'); }
所以我的代码是这样的:
$('#target').animate({
opacity: 'toggle',
top: '+=100',
}, 1000, function() {
$('#target').removeAttr('style');
});
对于jQuery,您可以使用.finish(),在此之前,要重置.stop()方法,您需要一些参数 试试
.finish()
示例(尝试垃圾邮件发送按钮):
这不管用。一旦完成,它将不会重新运行或重新启动。这不起作用,它只是将转换后的元素留在那里…:-/
$('#target').animate({
opacity: 'toggle',
top: '+=100',
}, 1000, function() {
$('#target').removeAttr('style');
});
$(element).stop(true, true);
$('button').on('click', function(event) {
$("div").finish();
$("div").fadeOut(1000);
});