2011-01-31 15 views
1

jqueryアニメーションをセッションごとにクッキーで1回だけ実行したいと思います。私はKlaus Hartlのクッキープラグインを使ってこれを行う方法を考え出しましたが、ページが2度目に呼び出されると要素が点滅します。私は$ .fx.offがjqueryをアニメーションの最後の状態にジャンプさせるはずですが、要素は簡単に点滅します。終わりの状態にジャンプするのではなく、アニメーションを再生するだけです本当に素早く。ブラウザが終了するとクッキーが消え、アニメーションが再び再生されます。これが私が起こりたいことです。アニメーションをセッションごとに1回再生したいだけです。私はクッキーのCSS状態を切り替える方法についてオンラインで良いチュートリアルを見つけることができますが、単純にjqueryアニメーションが終了状態になるように実行されないようにしたいものがあります。クッキーで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> 

任意の考えは素晴らしいことです!ありがとう!

答えて

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

なぜこれが気に入りませんか?

+0

よろしくお願いします!そのクッキーを使用してアニメーションを停止しましたが、コードのどの部分が正確に停止するように指示していますか? –

+0

どこでも実行されません – Luke

+0

...私が今必要とするのは、クッキーが「実行」値を与える場合にアニメーション全体の最終状態を表示することです。それについての洞察はすばらしいでしょう!あなたのコードをインストールした後、アニメーションが停止しているのを知っているので、私は空白の背景を得ることができます。 –

関連する問題