Frage

Ich möchte eine JQuery -Animation nur einmal pro Sitzung mit einem Cookie laufen lassen. Ich habe mit Klaus Hartls Cookie -Plugin herausgefunden, wie das geht, aber wenn die Seite das zweite Mal aufgerufen wird, blinken die Elemente. Ich habe den Eindruck, dass $ .fx.off JQuery in den Endzustand der Animation springen lassen soll, aber die Elemente blinken kurz, es ist wie, anstatt nur in den Endzustand zu springen, es spielt nur die Animation durch sehr schnell. Der Cookie wird aussteigen, wenn der Browser beendet wird, und dann wird die Animation wieder spielen-das möchte ich passieren. Ich möchte nur, dass die Animation einmal pro Sitzung abgespielt wird. Ich kann einige gute Tutorials online darüber finden, wie ein Cookie Switch CSS -Staaten erstellt werden kann, aber ich möchte etwas, das einfach verhindern wird, dass die Jquery -Animation ausgeführt wird, so dass der Endstatus sichtbar ist.

Hier ist meine Testseite:

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

Hier ist mein Code:

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

Alle Gedanken wären großartig! Vielen Dank!

War es hilfreich?

Lösung

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

Warum nicht so?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top