私は自動スライダアニメーションで助けが必要です。私の質問は、ホバリングイベントでアニメーションを停止する方法ですが、別の要素のアニメーションが完全に終わった。jQueryでアニメーションを停止する方法、最初にアニメーションが終了したら
私は、コードのこの部分を持っている:
$(function(){
var current_slide=1;
var set_time=2500;
$('span').css({top:'300px'});
$.timer(6000,function(timer){
switch(current_slide){
case 1:
$('span').css({top:'350px'});
$('#slideshow').stop().animate({left:'-960px',top:'0px'},{easing:'easeOutBack',duration:set_time});
current_slide=2;
$('span').delay(2500).animate({top:'300px'});
break;
case 2:
$('span').css({top:'350px'});
$('#slideshow').stop().animate({left:'-1920px',top:'0px'},{easing:'easeOutBack',duration:set_time});
current_slide=3;
$('span').delay(2500).animate({top:'300px'});
break;
case 3:
$('span').css({top:'350px'});
$('#slideshow').stop().animate({left:'-2880px',top:'0px'},{easing:'easeOutBack',duration:set_time});
current_slide=4;
$('span').delay(2500).animate({top:'300px'});
break;
case 4:
$('span').css({top:'350px'});
$('#slideshow').stop().animate({left:'0px',top:'0px'},{easing:'easeOutExpo',duration:set_time});
current_slide=1;
$('span').delay(2500).animate({top:'300px'});
break;
}
timer.reset(12000);
});
$("#slideshow").hover(function(){
$(this).stop(true,true);
});
});
トラブルは、私は、スライダーにカーソルを合わせると、そのアニメーションはほとんど、突然(終わりにジャンプ)が停止し、私はキューを使用する必要があることugly.Mayです.stop()の前、またはこのようなもの。 ここに良い例があります:http://www.sevtopolishotel.com/ Tnx in advance!あなたが「jumpToEnd」の引数を渡すことができるということが書かれているhttp://api.jquery.com/stop/
:ここ
15秒かかると、そのコードを適切に書式設定してください。読みやすさに関しては、インデント+ラインスペースが少ししかありません。 –
あなたの 'ケース3'は、次のケースの直前ではない休憩を持っています。これは意図的ではありません。もしそうなら、このコードは大きなリファクタリングが可能です。 –
質問の著者は、jQueryセレクタのキャッシュを見て、それを整理してパフォーマンスを向上させることを提案することもできます。 –