1

クッキーを使用して、jquery アニメーションをセッションごとに 1 回だけ実行したいと思います。Klaus Hartl の Cookie プラグインを使用してこれを行う方法をある程度理解しましたが、ページが 2 回目に呼び出されると、要素が点滅します。$.fx.off は jquery がアニメーションの終了状態にジャンプするようになっているという印象を受けていますが、要素が短時間点滅します。終了状態にジャンプするだけでなく、アニメーションを再生するだけのようです本当にすぐに。ブラウザを終了すると Cookie がドロップアウトし、アニメーションが再び再生されます。これが私が望んでいることです。セッションごとにアニメーションを1回だけ再生したいだけです。Cookie で CSS の状態を切り替える方法については、オンラインでいくつかの優れたチュートリアルを見つけることができますが、jquery アニメーションが実行されないようにして、最終状態が表示されるようにするだけのものが必要です。

これが私のテストページです:

http://ianmartinphotography.com/test-site/index-cookies-04.html

これが私のコードです:

<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>

どんな考えでも素晴らしいでしょう!ありがとう!

4

1 に答える 1

2
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();
  }
 });

なぜこれが好きではないのですか?

于 2011-01-31T21:52:18.183 に答える