使用cookie取消jquery动画时出现问题

使用cookie取消jquery动画时出现问题,jquery,jquery-plugins,jquery-cookie,Jquery,Jquery Plugins,Jquery Cookie,我希望使用cookie使jquery动画在每个会话中只运行一次。我已经知道如何使用Klaus Hartl的cookie插件来实现这一点,但是,当第二次调用页面时,元素会闪烁。我的印象是,$.fx.off应该让jquery跳转到动画的结束状态,但是,元素会短暂闪烁,这就像不是跳转到结束状态,而是在动画中快速播放。当浏览器退出时,cookie将退出,然后动画将再次播放——这就是我希望发生的事情。我只希望动画每个会话播放一次。我可以在网上找到一些关于如何制作cookie切换CSS状态的好教程,但是我想

我希望使用cookie使jquery动画在每个会话中只运行一次。我已经知道如何使用Klaus Hartl的cookie插件来实现这一点,但是,当第二次调用页面时,元素会闪烁。我的印象是,$.fx.off应该让jquery跳转到动画的结束状态,但是,元素会短暂闪烁,这就像不是跳转到结束状态,而是在动画中快速播放。当浏览器退出时,cookie将退出,然后动画将再次播放——这就是我希望发生的事情。我只希望动画每个会话播放一次。我可以在网上找到一些关于如何制作cookie切换CSS状态的好教程,但是我想要一些能够阻止jquery动画运行的东西,以便最终状态可见

这是我的测试页面:

这是我的密码:

<script type="text/javascript">
var welcome=$.cookie('welcome'); if(welcome == 'ran') {$.fx.off = !$.fx.off;}; 
</script>


<!--slider-->
<script type="text/javascript">
$(window).load(function(){$(".imwpj")
.animate({"top": "+=200px"}, 0)
.fadeIn(2000).delay(200).animate({"top": "+=295px"}, 1100, function() {
$('#sub-fader').fadeIn(1500); });
$.cookie('welcome', 'ran');
}); 
</script>

var welcome=$.cookie('welcome');if(welcome=='ran'){$.fx.off=!$.fx.off;};
$(窗口).load(函数(){$(“.imwpj”)
.animate({“top”:“+=200px”},0)
.fadeIn(2000).delay(200).animate({“top”:“+=295px”},1100,function(){
$(“#子音量控制器”).fadeIn(1500);};
$.cookie('welcome','ran');
}); 
任何想法都很好!谢谢

var welcome=$.cookie('welcome'); 
 $(window).load(function(){
  if(welcome != 'ran') {
     $(".imwpj")
     .animate({"top": "+=200px"}, 0) // this is not necessary, you can use css("top", "200px")
     .fadeIn(2000).delay(200).animate({"top": "+=295px"}, 1100, function() {
     $('#sub-fader').fadeIn(1500); });
     $.cookie('welcome', 'ran');
  } else {
     $(".imwpj").css("top", "495px");
     $("#sub-fader").css("display", "block");  //or .show();
  }
 });

为什么不这样?

好吧,很有趣!它确实用那个cookie停止了动画--但是你的代码的哪一部分告诉事情要完全停止?…我现在需要做的是显示整个动画的最终状态,如果cookie给出了“ran”值。。。任何洞察到这一点都将是伟大的!现在,在安装代码之后,我得到了一个空的背景,这是很有希望的,因为我知道动画已停止。请尝试我的更新,我添加了一个简单的else方法,可以立即执行您需要的操作。顺便问一下,有什么原因,为什么元素“imwpj”在页面上出现了两次?我在页面上出现了两次,因为当它淡入时会被#sub fader隐藏。。。(我打赌有更好的办法!)谢谢你的帮助——我现在就试试这个。太棒了!谢谢你,卢克,非常感谢。这是包含代码的页面——正如您所看到的,我为移动动画创建了一个单独的DIV。你太棒了!