如何重置jquery动画以重新开始?

如何重置jquery动画以重新开始?,jquery,methods,reset,Jquery,Methods,Reset,我已经构建了一段很好的代码,一些动画和一些点击/悬停事件,其中有一小行。我打算在多个html文档上使用它(这是一个游戏,你必须得到正确的答案并继续下一个问题),在另一个html中使用完整的页面滑块构建(我不想多次加载DOM,毫无意义):未解决的问题是:如何在不重新加载的情况下重置代码?如何让它清理一切,迄今为止,并重新开始? 我是一个初学者,在别人的片段上构建东西。我想这一定很简单,很基本,没有人回答。。。要将以前所做的一切制作成动画的东西是不好的:太多的东西以及绑定和解除绑定。$(元素)。停止

我已经构建了一段很好的代码,一些动画和一些点击/悬停事件,其中有一小行。我打算在多个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);
      });